2017-08-01 74 views
0

我得到了很大的問題,我becouse測試的一切,使它的工作原理,but`s沒有 - 但:)進度條工作不沖水

我得到了簡單的for循環,並有一顆星,結束,沖洗裏面,但是我的瀏覽器中加載的所有輸出在與循環的,而且我認爲這個問題的簡單的例子:

<?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(); 
?>        

ai`vd設置所有關於outpuuting_bufforing,zlib的,gzib和其他承滴盤。在htacces,腳本,文件中,甚至在php.ini,apache中都可以使用。我得到了dedicaded服務器,所以可以配置我所需要的。有些人可以告訴我,我還能嘗試什麼? Ofc在任何日誌文件中都沒有錯誤。

感謝您的諮詢!

回答

0

ob_flush()提供的官方PHP文檔中的評論提到,大多數瀏覽器都有加載內容的方法。因此,瀏覽器在加載整個頁面之前不會顯示任何內容。

http://php.net/manual/de/function.ob-flush.php#109699

這意味着,刷新輸出到瀏覽器不會爲你工作。

另一種方法是通過AJAX啓動初始請求,然後使用第二個請求來提供有關當前過程的信息。

+0

所以更好的是這樣做所有我的腳本等在阿賈克斯,會更容易,效果不錯... – CommanderSpock