php 計劃任務 檢測使用者串連狀態
來源:互聯網
上載者:User
計劃任務
複製代碼 代碼如下:
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