杰拉斯的博客

Windows+Apache+PHP+MySQL简易配置教程

杰拉斯 杰拉斯 | 时间:2013-01-28, Mon | 38,050 views
后台技术 

准备工作

首先自然是下载软件,然后该解压的解压(注意要非中文目录,这里的软件目录以均以

C:\Program Files

为例),该安装的安装(MySQL的安装会有许多选项,英文好的看着按自己需要勾勾填填就行了,实在不行的参考这里,虽然版本比较旧,不过配置选项大致还是差不多的)。

下面是几个软件的简单介绍和下载地址:

Apache

Apache是世界使用排名第一的Web服务器软件,我们这里用它来搭建一个本地的Web服务器,它会侦听http请求,将本地的Web数据发送给浏览器,简单的来说就是搭建Apache之后,我们就可以通过浏览器来访问本地的网站。

下载地址:httpd-2.4.4-win32.zip更多版本

PHP

既然有了Web服务器,为何还要PHP这东西呢?因为Web服务器只是用来响应浏览器请求,并不具备解析PHP文件的功能,因此还需要PHP来进行解析。

下载地址:php-5.4.12-Win32-VC9-x86.zip更多版本

MySQL

MySQL是一个关系型数据库管理系统,跟PHP就是绝配,因为它们都快速,功能强大,更重要的是它们都免费(O(∩_∩)O~)。

下载地址:mysql-installer-community-5.6.10.1.msi更多版本

phpMyAdmin

phpMyAdmin严格来说不算一个软件,也不是WAMP环境的其中一个,但它在PHP开发过程中却几乎是必不可少的。phpMyAdmin是一个用PHP编写的MySQL可视化管理工具,因此它不需要安装或配置,直接将它解压到你的默认网站目录即可(补充说明)。

下载地址:phpMyAdmin-3.5.7-all-languages.zip更多版本

(阅读全文…)

PHP中获取中英文混合字符串长度

杰拉斯 杰拉斯 | 时间:2012-12-04, Tue | 35,430 views
后台技术 

今晚在写框架的表单验证类时,需要判断某个字符串长度是否在指定区间内,很自然地,想到了PHP中的strlen函数。

$str = 'Hello world!';
echo strlen($str);	// 输出12

然而在PHP自带的函数中,strlen及mb_strlen都是通过计算字符串所占字节数来计算长度的,在不同的编码情况下,中文所占的字节数是不同的。在GBK/GB2312下,中文字符占2个字节,而在UTF-8下,中文字符占3个字节。

$str = '你好,世界!';
echo strlen($str);	// GBK或GB2312下输出12,UTF-8下输出18

(阅读全文…)

[转载]深入浅出PHP下的文件上传

杰拉斯 杰拉斯 | 时间:2012-11-28, Wed | 27,032 views
后台技术 

文件作为一种特殊的表单数据,通过http post请求方式提交至服务器的时候,php会生成一个$_FILES全局数组,相关的文件信息会存放在这个全局数组中。我将在这篇文章中通过一些示例代码来阐述php下的文件上传,并且深入看下关于文件上传内部的实现机制,最后简单说下如何加强这方面的安全性!

文件上传

为了让客户端的用户能够上传文件,我们必须在用户界面中提供一个表单用于提交上传文件的请求。由于上传的文件是一种特殊数据,不同于其它的post数据,所以我们必须给表单设置一个特殊的编码:

<form action="upload.php" method="POST" enctype="multipart/form-data">

以上的enctype属性,你可能不太熟悉,因为这常常会被忽略掉。但是,如果http post请求中既有常规数据,又包含文件类数据的话,这个属性就应该显示加上,这样可以提高针对各种浏览器的兼容性
接下来,我们得向表单中添加一个用于上传文件的字段:

<input type="file" name="attachment" />

上述文件字段在各种浏览器中可能表现会有所不同。对于大多数的浏览器,上述字段都会被渲染成一个文本框加上一个浏览按钮。这样,用户既可以自行输入文件的路径到文本框中,也可以通过浏览按钮从本地硬盘上选择所要上传的文件。但是,在苹果的Safari中,貌似只能使用浏览这种方式。当然,你也可以自定义这个上传框的样式,使它看起来比默认的样式优雅些。

(阅读全文…)

BAE中实现WordPress固定链接及伪静态

杰拉斯 杰拉斯 | 时间:2012-11-19, Mon | 65,966 views
后台技术 

写在前面

有一好友在BAE上搭建了自己的WordPress博客,但由于BAE推出的时间较晚,不像SAE那样已经具备较为完善的应用仓库,对WordPress博客程序也没有官方的支持,而固定链接对于一个博客来说是比较重要的,伪静态有利于搜索引擎优化,而链接的格式若不尽早确定,日后再想改变将是一件非常麻烦的事情。

什么是BAE

百度应用引擎(Baidu App Engine,简称BAE)是基于百度基础架构推出的网络应用开发平台,基于BAE架构,使开发者不需要维护任何服务器,只需要简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。

开发者可以基于BAE平台进行PHPJavaPython应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

BAE服务可以让开发者在开发网络应用程序的过程中摆脱繁琐的环境、服务问题,把精力专注于业务逻辑。

简单的上传应用程序,就可以为用户提供服务。BAE有能力将原本单机的LAMP架构,变成分布式架构。
开发者可以基于BAE平台进行PHP、Java、Pyt应用的开发、编译、发布、调试。同时BAE平台也提供了大量的云服务给开发者,包括fetch URL、task queue、SQL、memcache,后续会提供更多服务。在性能方面,如果开发者希望增加服务能力,可以通过申请更多执行单元的方式进行灵活的调整。

(阅读全文…)

[转载]PHP函数的实现原理及性能分析

杰拉斯 杰拉斯 | 时间:2012-11-15, Thu | 21,307 views
后台技术 

前言

在任何语言中,函数都是最基本的组成单元。对于php的函数,它具有哪些特点?函数调用是怎么实现的?php函数的性能如何,有什么使用建议?

本文将从原理出发进行分析结合实际的性能测试尝试对这些问题进行回答,在了解实现的同时更好的编写php程序。同时也会对一些常见的php函数进行介绍。

(阅读全文…)