計劃任務
復制代碼 代碼如下:
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