PHP计划任务之关闭浏览器后仍然继续执行的函数

yipeiwu_com5年前PHP代码库
备忘一下这个函数:
函数名称:ignore_user_abort
本函数配置或取得使用端连接中断后,PHP 程序是否仍继续执行。默认值为中断连接后就停止执行。在 PHP 配置文件中 (php3.ini/php.ini) 的 ignore_user_abort 选项就是配置处。本功能在 PHP 3.0.7 版之后才开始提供。
官方说明:http://cn2.php.net/manual/en/function.ignore-user-abort.php


使用方法:
复制代码 代码如下:

ignore_user_abort(true); //即使Client断开(如关掉浏览器),PHP脚本也可以继续执行.

这样就可以实现计划任务效果了.但是还是要客户端访问程序才行.
比如说在生成静态页面、采集的时候,不需要在等待了。关掉浏览器吧。
例子:
复制代码 代码如下:

//test
set_time_limit(0);
ignore_user_abort(true);
$i = 0 ;
while($i ++ < 200){
file_put_contents($i.'.php' , $i);
sleep(3);
}

用ignore_user_abort函数实现php计划任务
复制代码 代码如下:

<?php
ignore_user_abort(true);
set_time_limit(0);
while(1) {
  $fp = fopen('time_task.txt',"a+");
  $str = date("Y-m-d h:i:s")."\n\r";
  fwrite($fp,$str);
  fclose($fp);
  sleep(5); //半小时执行一次
}
?>

相关文章

php不使用copy()函数复制文件的方法

本文实例讲述了php不使用copy()函数复制文件的方法。分享给大家供大家参考。具体如下: 下面的代码不使用php内置的copy函数,直接通过文件读取写入的操作方式复制文件 <...

php通过smtp邮件验证登陆的方法

本文实例讲述了php通过smtp邮件验证登陆的方法。分享给大家供大家参考,具体如下: 内网的系统为了统一账号,都采用用邮件账号登陆的方式,所以有了以下程序 /** * 通过邮件 验证...

关于php fread()使用技巧

说明 string fread ( int handle, int length ) fread() 从文件指针 handle 读取最多 length 个字节。该函数在读取完最多 len...

phpQuery占用内存过多的处理方法

phpQuery是一个用php实现的类似jQuery的开源项目,可以在服务器端以jQuery的语法形式解析网页元素。 相对于正则或其它方式匹配网页方式,phpQuery使用起来要方便的多...

PHP中时间加减函数strtotime用法分析

本文实例讲述了PHP中时间加减函数strtotime用法。分享给大家供大家参考,具体如下: 时间加减 <?php //获取本地 提取年份+1 $date=date("Y...