在php中可以透過“ignore_user_abort”函數實現關閉頁面仍執行的功能,其語法是“ignore_user_abort(true); ”,表示儘管Client斷開,但PHP腳本也可以繼續執行。
推薦:《PHP影片教學》
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關閉頁面仍執行的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!