Home >Backend Development >PHP Tutorial >php 计划任务 检测用户连接状态_PHP

php 计划任务 检测用户连接状态_PHP

WBOY
WBOYOriginal
2016-06-01 12:11:10808browse

计划任务
复制代码 代码如下:
ignore_user_abort(); // 用户关闭浏览器程序依然执行
set_time_limit(0); // 不限制程序运行时间
$interval = 3; // 程序循环间隔时间秒

$link = mysql_connect('localhost', 'username', 'paswd');
mysql_select_db('test');
mysql_query("SET NAMES 'utf8'");

do {
// 用户关闭浏览器停止 start
echo str_repeat(' ', 4069); // php只在输出时才检查用户连接状态. 一些web服务器的output_buffering默认值是4096字符. 为确保flush()有效, 设置为4069.
ob_flush();
flush();
// 用户关闭浏览器停止 end

$query = "INSERT INTO `test`.`test_demo` (`title`, `content`) VALUES ('计划任务', '" . date("Y-m-d H:i:s", time()) . "')";
mysql_query($query); // 采用写入数据库验证程序
sleep($interval);
} while (true);

如果没有输出php是无法检测用户连接状态的。即使关闭浏览器程序依然会运行直到apache服务停止或重启。
复制代码 代码如下:
// 用户关闭浏览器停止 start
echo str_repeat(' ', 4069); // php只在输出时才检查用户连接状态. 一些web服务器的output_buffering默认值是4096字符. 为确保flush()有效, 设置为4069.
ob_flush();
flush();
// 用户关闭浏览器停止 end

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn