2017-08-01 24 views
0

を働いていないバー私は私はそれが動作するために、すべてをテストしbecouse、大きな問題を抱えて、but`sありませんすべてoutpuuting_bufforing、zlibの、gzib、およびその他のオールズについて進捗状況がフラッシュ

<?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セットアップ:まだ私のブラウザの負荷のすべての出力で、ループの、そして私はこの質問に簡単な例にかかりました。 htacces、スクリプト、php.ini、apacheのファイルでさえも。私はdedicadedサーバーを持っているので、私が必要なものを構成することができます。 some1は私が何をもっと試すことができるか教えてもらえますか? すべてのログファイルにエラーはありません。

ありがとうございました!

答えて

0

ob_flush()の公式PHPドキュメントのコメントによれば、ほとんどのブラウザはコンテンツを読み込むためのオール・アロイなアプローチをとっています。したがって、ブラウザはページ全体がロードされるまで何も表示しません。

これは、ブラウザに出力をフラッシュすることはあなたのために動作しないことを意味しますhttp://php.net/manual/de/function.ob-flush.php#109699

を参照してください。

代替案は、A​​JAX経由で最初のリクエストを開始してから、2番目のリクエストを使用して現在のプログレスに関する情報を提供することです。

+0

このように、私のスクリプトなどをajaxで実行すると、作業が楽になります。 – CommanderSpock