PHP关闭浏览器后仍然继续执行的函数
[ 2011/06/07 17:52 | by selboo ]
函数名称:ignore_user_abort
官方说明:http://cn2.php.net/manual/en/function.ignore-user-abort.php
使用方法:
即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
这样就可以实现计划任务效果了.但是还是要客户端访问程序才行.
比如说在生成静态页面、采集的时候,不需要在等待了。关掉浏览器吧。
例子:
官方说明:http://cn2.php.net/manual/en/function.ignore-user-abort.php
使用方法:
即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.
ignore_user_abort(true);
这样就可以实现计划任务效果了.但是还是要客户端访问程序才行.
比如说在生成静态页面、采集的时候,不需要在等待了。关掉浏览器吧。
例子:
set_time_limit(0);
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.'.php' , $i);
sleep(3);
}
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.'.php' , $i);
sleep(3);
}
PHP 基于文件头的文件类型验证类
[ 2011/06/07 17:08 | by selboo ]
From:http://www.zdyi.com/file-type-validation/624
在PHP开发中,传统的上传文件类型验证是基于文件扩展名的验证方式(如pathinfo函数),很容易通过修改扩展名来欺骗。
我这里写了一个验证类,是通过文件头来判断文件格式.(也不是百分之百安全,如果用户伪造了文件头,也能通过验证)
[code]<?php
/**
* 检证文件类型类
*
* @author Silver
*/
class FileTypeValidation
{
// 文件类型,不同的头信息
private static $_fileFormats = Array(
'jp2' => '0000000C6A502020',<
在PHP开发中,传统的上传文件类型验证是基于文件扩展名的验证方式(如pathinfo函数),很容易通过修改扩展名来欺骗。
我这里写了一个验证类,是通过文件头来判断文件格式.(也不是百分之百安全,如果用户伪造了文件头,也能通过验证)
[code]<?php
/**
* 检证文件类型类
*
* @author Silver
*/
class FileTypeValidation
{
// 文件类型,不同的头信息
private static $_fileFormats = Array(
'jp2' => '0000000C6A502020',<
几个有用的php字符串过滤,转换函数
[ 2010/12/25 17:18 | by selboo ]
nl2br();// \n to
addslashes(); stripslashes();//对数据库操作时,转义特殊字符
chop();//除去字符串右边空格
trim();//除去字符串中所有空格
ltrim();//除去字符串左边空格
htmlspecialchars();//转换'$','"','<','>'为相应的html实体
htmlentities();//转换所有html标记为相应的html实体
array explode(string separator, string str);//分割字符串
string implode(string separator, array arr);//连接字符串
strtoupper(); strtolower();//转换大小写
ucfirst();//只转换第一个字符为大写
ucwords();//转换每个words的第一个字母为大写
123
addslashes(); stripslashes();//对数据库操作时,转义特殊字符
chop();//除去字符串右边空格
trim();//除去字符串中所有空格
ltrim();//除去字符串左边空格
htmlspecialchars();//转换'$','"','<','>'为相应的html实体
htmlentities();//转换所有html标记为相应的html实体
array explode(string separator, string str);//分割字符串
string implode(string separator, array arr);//连接字符串
strtoupper(); strtolower();//转换大小写
ucfirst();//只转换第一个字符为大写
ucwords();//转换每个words的第一个字母为大写
123
在实际开发过程会经常会遇到一些重复的操作,如果每次都要自己去实现这无疑加重了自己的工作量,下面对一些可能经常用到的类做个整理:
图表库
下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持。
pChart – 一个可以创建统计图的库。
Libchart – 这也是一个简单的统计图库。
JpGraph – 一个面向对象的图片创建类。
Open Flash Chart – 这是一个基于Flash的统计图。
RSS 解析
解释RSS并是一件很单调的事情,不过幸好
图表库
下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持。
pChart – 一个可以创建统计图的库。
Libchart – 这也是一个简单的统计图库。
JpGraph – 一个面向对象的图片创建类。
Open Flash Chart – 这是一个基于Flash的统计图。
RSS 解析
解释RSS并是一件很单调的事情,不过幸好
php对大文件进行读取操作
[ 2010/12/10 17:44 | by selboo ]
在php中,对于文件的读取时,最快捷的方式莫过于使用一些诸如file、file_get_contents之类的函数,简简单单的几行代码就能很漂亮的完成我们所需要的功能。但当所操作的文件是一个比较大的文件时,这些函数可能就显的力不从心, 下面将从一个需求入手来说明对于读取大文件时,常用的操作方法。
需求
有一个800M的日志文件,大约有500多万行, 用php返回最后几行的内容。
实现方法
1. 直接采用file函数来操作
注:由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的memory_limit = 16M来进行设置,这个值如果设置-1,则内存使用量不受限制.
下面是一段用file来取出这具文件最后一行的代码.
整个代码执行完成耗时 116.9613 (s).
[code]$fp = fopen($file, "r&q
需求
有一个800M的日志文件,大约有500多万行, 用php返回最后几行的内容。
实现方法
1. 直接采用file函数来操作
注:由于 file函数是一次性将所有内容读入内存,而php为了防止一些写的比较糟糕的程序占用太多的内存而导致系统内存不足,使服务器出现宕机,所以默认情况下限制只能最大使用内存16M,这是通过php.ini里的memory_limit = 16M来进行设置,这个值如果设置-1,则内存使用量不受限制.
下面是一段用file来取出这具文件最后一行的代码.
整个代码执行完成耗时 116.9613 (s).
[code]$fp = fopen($file, "r&q