时间:2015-06-11 发布人:SHX 浏览次数:3918 评论:0
今天在研究PHP如何做定时器的时候发现了一个有趣的函数 ignore_user_abort()这个函数的功能是就算你关闭了浏览页面,服务端的这个页面的代码也会继续执行下去。就这样一个小小的功能貌似我们这样的技术宅又能想出很多又创新的小程序的。
下面演示下这个函数<?php
ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行.
set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去
$interval = 20; // 每隔*秒运行
$i = 0;
$src = "txt.txt";
file_put_contents($src,'');
do {
$s = file_get_contents($src);
$time = date("Ymd H:i:s");
$data = $s."当前时间:".$time."";
file_put_contents($src,$data);
sleep($interval); // 等待*秒钟
$i++;
} while ($i<=10);
?>
程序每20秒向txt.txt文件中写入当前时间,按理说浏览器打开页面应该需要200秒,但现在你只要运行这个页面后,关闭浏览器的这个页面,他还是一直在向txt.txt文件中写入当前时间,直到循环结束。
这样的话php也可以写很多后台运行的程序了....
如果你要结束这个页面的进程,只要重启服务器appserv/IIS了。