在当前 PHP 版本的默认配置下,“输出缓冲(Output Buffering)”是被打开的。旧版本则不是这样,在旧版本的 PHP 中,字符串在每次被输出的时候(通过 echo 或 print 函数),都会触发一次发送到客户端浏览器的动作。
“输出缓冲”的引入,使得这一过程更加快速、更加高效。缓冲区实际上是在内存中开辟了一块区域,可以认为是内存中的一个大的字符串。当程序中有字符要输出的时候,会把要输出的内容附加到该缓冲区中,用来替代旧版本 PHP 中每次都直接输出到浏览器的方式。当缓冲区被“刷新”的时候,再统一输入到用户浏览器。以下几种情况下,会引起缓冲区的“刷新”操作: 阅读全文
copy — 拷贝文件
说明
bool copy ( string $source , string $dest )
将文件从 source 拷贝到 dest。成功时返回 TRUE, 或者在失败时返回 FALSE.
阅读全文
php默认的mkdir一次只能创建一层目录,如果在当前目录下创建一个div/css/layout 的目录就需要逐层逐层的先创建div,再创建div/css 再创建 div/css/layout,然而我们希望能让程序自动帮我们完成这个过程。
其实思路也很简单,1.先判断 div目录是否存在,不存在则创建;2.判断子目录 div/css 是否存在,不能存在则创建,3.在第二步中以子目录作为参数递归调用函数本身。也可以按相反顺序来,1.先判断最底层目录div/css/layout是否存在;2.判断div/css/layout的上层目录div/css是否存在,不存在则以div/css作为参数递归进行。。 阅读全文
PHP在设计时就没有考虑BOM的问题,也就是说他不会忽略UTF-8编码的文件开头BOM的那三个字符。由于必须在<?或者<?php后面的代码才会作为PHP代码执行,所以这三个字符将会直接输出。如果插件的文件有这个问题,将会导致在后台页面里激活或者不激活插件后显示白屏,如果是模版文件有这个问题,将会导致这三个字符直接输出,造成页面上方有一个小空行。国外的英文插件和模版一般都是用的ASCII码的编码方式,不会有BOM,只有国内的插件和模版会由于作者的不知情造成问题。还有,大家修改模版的时候,由于输出页面使用UTF-8编码,那么修改模版的时候如果有加入中文字符的话,必须把文件转成UTF-8编码才能正常显示,这个时候如果所使用的编辑器自动加上了BOM的话,将会造成在页面上输出这三个字符,显示效果就要看浏览器了,一般是一个空行或是一个乱码。 阅读全文
大概使用MySQL的人,百分之九九以上的人会使用Autoincrement ID做主键,这是可以理解的,因为MySQL的自增ID效率很高,使用也很方便。那么剩下的百分之一的人使用什么做主键呢?可能是自己做的 KeyGenerator,也可能是我们下面要说的UUID。
据说在Oracle的圈子里,如果谁用自增ID做主键是要被鄙视的,主键最自然的选择就是UUID。我不了解Oracle,这些道听途说的结论是否 正确不做承诺。
阅读全文
唯一索引 记录不重复设置
用phpmyadmin查看你的数据库,设置为主键、选择唯一索引,是否允许重复与数据类型无关。
关键字UNIQUE把它定义为一个唯一索引.唯一性索引 和“普通索引”基本相同,但有一个区别:索引列的所有值都只能出现一次,即必须唯一。
阅读全文
相信现在大部分用Linux VPS的朋友都在使用这个迅速传播的Nginx,今天就整理一下最常见的PHP程序的Rewrite(伪静态规则)。
WordPress:
location / {
index index.html index.php;
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
} 阅读全文
vsftp的含义就是Very Security Ftp,其实就是一款FTP软件。每个人安装软件的时候都有自己不同的方法,不过大多大同小异,以下是本人安装VSFTPD的方法
1、下载:
从网上下载软件,我的版本是2.0.5,软件名为vsftpd-2.0.5.tar.gz
2、编译源代码:
tar xvzf vsftpd-2.0.5.tar.gz (解压,并进入解压后目录vsftpd-2.0.5)
make
make install 阅读全文