第一个代码是兼容所有浏览器,刷新输出缓冲,有echo等输出就立马输出,第二个代码是用户关闭浏览器代码依然执行的代码,不是很多人局限于自己没有服务器,没有办法建立事物自动的备份数据吗,这个也不失为一种解决方式。set_time_limit(0)和ignore_user_abort(true)函数的妙用。
首先是第一个代码
PHP
set_time_limit(0);
print str_repeat(" ", 4096);
for($i=0;$i<60;$i++){
echo $i.'
';
ob_flush();
flush();
sleep(1);
}
ob_end_flush();
?>
1
2
3
4
5
6
7
8
9
10
11
set_time_limit(0);
printstr_repeat(" ",4096);
for($i=0;$i<60;$i++){
echo$i.'
';
ob_flush();
flush();
sleep(1);
}
ob_end_flush();
?>
相当的短小精悍啊,第一行是设置php的最大执行时间,第二行是因为很多浏览器会有4096字节的缓存,这里是填满缓存,ob_flush和flush都是刷新输出缓存,因为flush() 函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用 ob_flush() 和flush() 函数来刷新输出缓冲。 ob_end_flush就是输出,并关闭输出缓冲!我在做一些等待功能的时候我觉得可以用到。
第二段代码
PHP
set_time_limit(0);
ignore_user_abort(true);
$dbHost = 'localhost';//服务器
$dbUser = 'root';//用户名
$dbPwd = '123456';//密码
$dbdate = 'ci';
$con = mysql_connect($dbHost,$dbUser,$dbPwd);
if(empty($con)){
echo '连接服务器失败';
}
mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$con);
$conn = mysql_select_db($dbdate,$con);
if(empty($conn)){
echo '选择数据库失败';
}
$sql = "insert into `admin`(`pid`,`path`,`name`)values('1','0','a')";
for($i=0;$i<500;$i++){
mysql_query($sql);
sleep(2);
}
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
set_time_limit(0);
ignore_user_abort(true);
$dbHost='localhost';//服务器
$dbUser='root';//用户名
$dbPwd='123456';//密码
$dbdate='ci';
$con=mysql_connect($dbHost,$dbUser,$dbPwd);
if(empty($con)){
echo'连接服务器失败';
}
mysql_query("SET character_set_connection=utf8, character_set_results=utf8, character_set_client=binary",$con);
$conn=mysql_select_db($dbdate,$con);
if(empty($conn)){
echo'选择数据库失败';
}
$sql="insert into `admin`(`pid`,`path`,`name`)values('1','0','a')";
for($i=0;$i<500;$i++){
mysql_query($sql);
sleep(2);
}
?>
这个代码当然要你们配置成自己的数据库下面是写了一个插入语句,你可以随便改成一个插入语句,访问这个页面,然后关闭浏览器,打开你的数据库,刷新去看,数据记录还在不断的增加,神不神奇。其实这是将 set_time_limit(0); ignore_user_abort(true);做了结合,后一个是设置在关闭浏览器的时候继续执行,那么我们就可以利填满加sleep函数,从而实行一个不断执行的方法,可以用来备份数据库,或定期的清空一个目录等待都可以,但是这个函数一旦运行就只能通过服务器结束进程,所以给他的循环最好还是不要是无限循环,挺有意思吧。是我自己总结的奥!
本文链接:http://www.521php.com/archives/527/
程序本天成,妙手偶得之!我们只是代码的搬运工!