2011-10-25 65 views
1

我一直在閱讀有關內容的緩衝buffer_output,我發現一個簡單的腳本來顯示的刷新理解沖洗,使用ob_flush和PHP

<?php 

if (ob_get_level() == 0) ob_start(); 

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

    echo "<br> Line to show."; 
    echo str_pad('', 4096) . "\n"; 

    ob_flush(); 
    flush(); 
    sleep(2); 
} 

echo "Done."; 

ob_end_flush(); 

?> 

影響這個腳本工作正常,並顯示輸出,但是當我刪除str_pad或將長度從4096縮短到40 flush不起作用。

任何一個可以幫助我究竟是什麼導致這個..

回答

1

Atlast我找到了原因。

根據PHP.net Broswers需要某些字節來開始顯示頁面。就像某些版本的Internet Explorer需要200字節一樣。而像Firefox或Chrome這樣的現代化交響樂團需要更多的字節才能啓動瀏覽器顯示。

在上述情況下,如果您在Internet Explorer中檢查它,它不會需要字符串填充,但在Firefox或Chrome中,您需要Padd空格以便輸入以顯示刷新的輸出。

0

我認識到這個問題,有一次自己..你已經輸出壓縮激活?

+0

感謝有人已經swum我已經dived.No,其設置爲關閉php.ini –