一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php ignore_user_abort()函数之计划任务实现方法

时间:2012-08-06 编辑:简简单单 来源:一聚教程网

php ignore_user_abort

函数说明
(PHP 4中,PHP 5中)

  ignore_user_abort  设置与客户机断开是否会终止脚本的执行。

  本函数返回 user-abort 设置的之前的值(一个布尔值)。

函数定义
  int ignore_user_abort ([ string $value ] )

参数 描述
setting 可选。如果设置为 true,则忽略与用户的断开,如果设置为 false,会导致脚本停止运行。
如果未设置该参数,会返回当前的设置。

提示注释
  注释:PHP 不会检测到用户是否已断开连接,直到尝试向客户机发送信息为止。简单地使用 echo 语句无法确保信息发送,参阅 flush() 函数。

实例说明
  例-1  一个的ignore_user_abort()的例子,配合set_time_limit()函数 和一个死循环就可以实现计划任务功能。

 

 

  // Ignore user aborts and allow the script

  // to run forever

  ignore_user_abort (true);

  set_time_limit (0);

  echo 'Testing connection handling in PHP' ;

  // Run a pointless loop that sometime

  // hopefully will make us click away from

  // page or click the "Stop" button.

  while(1)

  {

  // Did the connection fail?

  if( connection_status () != CONNECTION_NORMAL )

  {

  break;

  }

  // Sleep for 10 seconds

  sleep (10);

  }

  // If this is reached, then the 'break'

  // was triggered from inside the while loop

  // So here we can log, or perform any other tasks

  // we need without actually being dependent on the

  // browser.

  ?>


实例 1、

关闭浏览器后,程序能继续在后台跑,这种情况下需要用到ignore_user_abort()函数;

ignore_user_abort(true);       //设置客户端断开连接时是否中断脚本的执行
     

    set_time_limit(0);
         $file = '/tmp/ignore_user.txt';
         if(!file_exists($file)) {
                 file_put_contents($file);
         }
         if(!$handle = fopen($file,'a+b')){
                 echo "not open file :".$file;
                 exit;
         }
         $i=0;
         while($i<100) {
                 $time = date("Y-m-d H:i:s",time());
                 echo $time."\n";
                 if(fwrite($handle,$time."\n")===false) {
                         echo "not write file:".$file;
                         exit;
                 }
                 echo "write file time:".$time."\n";
                 $i++;
                 sleep(2);
         }
 
fclose($handle);

加上这段代码,即使你把浏览器关闭后还是能还执行php计划任务哦。

热门栏目