PHP執行定時任務


PHP執行定時任務

1.PHP像文件寫入信息的時候

<?php

for ($i=0; $i < 10; $i++) {

$str="我是第".$i."條"."\r\n";

file_put_contents("a.txt",$str,8);

}
這樣就可以換行,linux使用"\n"就可以,windows"\r\n".

我是第0條

我是第1條

我是第2條

我是第3條

我是第4條

我是第5條

我是第6條

我是第7條

我是第8條

我是第9條

<?php
    ignore_user_abort();//關閉瀏覽器后,繼續執行php代碼
    set_time_limit(0);//程序執行時間無限制
    $sleep_time = 5;//多長時間執行一次

//$switch為include 'jsonout.php'的返回值

//return 1;//1執行,0不執行
    $switch = include 'jsonout.php';
    $i = 1;
    while($switch){

//這里是想要循環執行的語句
        $t = '我是第';
        $r = '條';
        $msg=$t.$i.$r."\r\n";
            file_put_contents("a.txt",$msg,8);//寫入信息
        sleep($sleep_time);//等待時間,進行下一次操作。
        $i++;
    }
    exit();
 ?>

原文鏈接:http://blog.csdn.net/leafgw/article/details/50800153

現在對用到的知識進行解析:

Uslepp()是推延執行   sleep()暫停

1.int ignore_user_abort ([ string $value ] )

ignore_user_abort只是忽略用戶關閉操作,如果設置為 true,則忽略與用戶的斷開,如果設置為 false,會導致腳本停止運行。

一般都是用ignore_user_abort配合sleep來完成自動計划任務,但是這些都沒有操作系統自帶的計划任務來得強

它的狀態,只要執行一句ignore_user_abort();這個就能在頁面上看到它是返回0或1!

2.set_time_limit — 設置腳本最大執行時間

設置允許腳本運行的時間,單位為秒。如果超過了此設置,腳本返回一個致命的錯誤。默認值為30最大的執行時間,單位為秒。如果設置為0(零),沒有時間方面的限制。

3.ob_flush()和flush()的區別

“ob_flush()flush()的區別。前者是把數據從PHP的緩沖中釋放出來,后者是把不在緩沖中的或者說是被釋放出來的數據發送到瀏覽器。所以當緩沖存在的時候,我們必須ob_flush()flush()同時使用。正確使用的順序是:先用ob_flush(),后用flush()

str_repeat — 重復一個字符串

說明

string str_repeat ( string $input , int $multiplier )

返回 input 重復 multiplier 次后的結果。

<?php
  echo str_repeat('哈哈哈哈哈哈' ,1000);
  for($i=0;$i<3;$i++) {
    ob_flush();
    flush();
    sleep(3);
  }
?> 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM