2017-02-01 42 views
1

在說什麼之前。我已經在此尋找解決方案。我現在想弄清楚這一點。PHP ob_flush flush()不起作用

我目前正試圖通過echo'ing每次下載文件時顯示ftp下載的進度。

這是我的代碼部分:

<?php 

header('Content-type: text/html; charset=utf-8'); 
header('Cache-Control: no-cache, must-revalidate'); 
header('X-Accel-Buffering: no'); 

// ftp connection stuff goes here 

$string_length = 4096; 

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

    if (ftp_get($ftp_conn, './downloads/'.$files[$i]['local'], $files[$i]['server'], FTP_ASCII)) { 
     echo 'File: '.$files[$i]['local'].' saved.<br>'; 

     // $string = str_repeat('.', $string_length); 
     // echo '<div style="display:none;">'.$string . '</div>'; 

     ob_flush(); 
     flush(); 
    } else { 
     echo "Error"; 
    } 

} 

即使世界2註釋行,要是有我去掉一切它的工作原理。

我該怎麼做才能做到這一點?

+0

http://php.net/manual/en/function.ob-flush.php states'flush(); ob_flush();'而不是其他方式。 –

+0

does not'work。再次。如果我添加2個未註釋的線條,它完美的作品。但是在DOM中增加了一堆.... – xnny

+0

你可以嘗試使用不同的瀏覽器或電腦嗎? –

回答

0

我還沒找到合適的解決方案。

我結束了使用4kb字符串觸發刷新。

這是有效的,但並非如預期的那樣。