php ignore_user_abort()函數之計劃任務實現方法
來源:程序員人生 發布時間:2013-12-10 07:24:56 閱讀次數:2859次
php ignore_user_abort
函數說明(PHP 4中,PHP 5中)
ignore_user_abort 設置與客戶機斷開是否會終止腳本的執行.
本函數返回 user-abort 設置的之前的值(一個布爾值).
函數定義
int ignore_user_abort ([ string $value ] )
參數 描述
setting 可選.如果設置為 true,則忽略與用戶的斷開,如果設置為 false,會導致腳本停止運行.
如果未設置該參數,會返回當前的設置.
提示注釋
注釋:PHP 不會檢測到用戶是否已斷開連接,直到嘗試向客戶機發送信息為止.簡單地使用 echo 語句無法確保信息發送,參閱 flush() 函數.
實例說明
例-1 一個的ignore_user_abort()的例子,配合set_time_limit()函數 和一個死循環就可以實現計劃任務功能.
- <?php
-
-
-
-
-
- ignore_user_abort (true);
-
- set_time_limit (0);
-
- echo 'Testing connection handling in PHP' ;
-
-
-
-
-
-
-
- while(1)
-
- {
-
-
-
- if( connection_status () != CONNECTION_NORMAL )
-
- {
-
- break;
-
- }
-
-
-
- sleep (10);
-
- }
-
-
-
-
-
-
-
-
-
-
-
- ?>
實例 1、
關閉瀏覽器后,程序能繼續在后臺跑,這種情況下需要用到ignore_user_abort()函數;
- ignore_user_abort(true);
-
-
-
- set_time_limit(0);
- $file = '/tmp/ignore_user.txt';
- if(!file_exists($file)) {
- file_put_contents($file);
- }
- if(!$handle = fopen($file,'a+b')){
- echo "not open file :".$file;
- exit;
- }
- $i=0;
- while($i<100) {
- $time = date("Y-m-d H:i:s",time());
- echo $time."";
- if(fwrite($handle,$time."")===false) {
- echo "not write file:".$file;
- exit;
- }
- echo "write file time:".$time."";
- $i++;
- sleep(2);
- }
-
- fclose($handle);
加上這段代碼,即使你把瀏覽器關閉后還是能還執行php計劃任務哦.
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈