PHP實時輸出
一般情況下,PHP都是任務全部執行完成後,才會把要輸出的內容輸出到頁面,例如下面代碼:
for ($i = 0;$i<10;$i++) { echo $i; sleep(1); }
這段代碼會在10秒鐘後一次性輸出“0123456789”。
但是有時候我們需要在PHP頁面執行過程中執行了輸出函數後就馬上把內容輸出,而不等待頁面全部執行完成,我們把代碼修改成下面這樣:
set_time_limit(0); echo str_pad('',1024);//使用另一個字符串填充字符串為指定長度; ob_implicit_flush(true);//打開/關閉絕對發送; for($i=1;$i<10;$i++){ echo $i; sleep(1); }
這樣,頁面就會每一秒輸出一個數字。
我們可以很方便的使用PHP的輸出控制來實現頁面執行進度的顯示。不過,由於PHP頁面有執行時間限制,而且長時間執行一個頁面會對服務器造成一定的壓力。所以我適當使用。