PHP即時實時輸出內容

2022-08-27 05:12:07 字數 789 閱讀 7164

一般情況下,php都是將整個頁面全部執行完成後,才會把要輸出的內容傳送回客戶端。

for ($i = 0; $i < 10; $i++)
這段**會在十秒後輸出「-12345678910」,

如果要實現每秒實時輸出一位可用以下兩種方式:

設定執行時間不限時

set_time_limit(0);

清除並關閉緩衝,輸出到瀏覽器之前使用這個函式。

ob_end_clean();

控制隱式緩衝瀉出,預設off,開啟時,對每個 print/echo 或者輸出命令的結果都傳送到瀏覽器。

ob_implicit_flush(1);

<?php

ob_end_clean();

ob_implicit_flush(1);

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

ob_*系列函式, 是操作php本身的輸出緩衝區.

ob_flush()

flush, 嚴格來講, 這個只有在php做為apache的module(handler或者filter)安裝的時候, 才有實際作用.

它是重新整理webserver(可以認為特指apache)的緩衝區.

前者是把資料從php的緩衝中釋放出來,後者是把不在緩衝中的或者說是被釋放出來的資料傳送到瀏覽器。

flush()

for ($i=0; $i < 10 ; $i++)
參考:

深入理解ob_flush和flush的區別

PHP實現即時輸出 實時輸出內容方法

老生長談了。純備忘 對於執行時間較長的php程式來說可能都需要即時輸出內容來檢視運 況。複製 程式設計客棧 如下 header content type text html charset utf 8 設定執行時間不限時 set time limit 0 清除並關閉緩衝,輸出到瀏覽器之前使用這個函式...

php即時 重新整理快取 輸出內容

通常的情況下用php輸出內容會先快取,到最後全部輸出.如果有乙個多步的耗時操作,所有的結果都要等到頁面執行完後才能看到.中間漫長的過程只有等待.能不能立即都看到每步的結果呢 ob flush 是重新整理php自身的緩衝區。flush 只有在php做為apache的module handler或者fi...

PHP實時輸出

老生長談了。純備忘 對於執行時間較長的php程式來說可能都需要即時輸出內容來檢視運 況。header content type text html charset utf 8 設定執行時間不限時 set time limit 0 清除並關閉緩衝,輸出到瀏覽器之前使用這個函式。ob end clean...