ホームページ >バックエンド開発 >PHPチュートリアル >flash()関数が無効なのでしょうか?出力をリアルタイムで更新できません。解決するにはどうすればよいですか?
テスト コードは次のとおりです:
<?phpfor($i=0;$i<5;$i++){ echo '<br/>abc___'.$i; ob_flush(); flush(); sleep(1);}ob_end_flush();?>
理由もなくユーザーの帯域幅を占有するこの行為は非常に退屈です
遅延出力の効果は、ブラウザーで js を使用して実装する必要があります
あなたのコードは IE で表示されることはありませんIE は受信データを解釈する前にバッファーがいっぱいになるのを待つ必要があるため、望ましい効果が得られます
理由もなくユーザーの帯域幅を占有するこの習慣は非常に退屈です
遅延出力の効果はブラウザーで js を使用して実装する必要があります
IE では、受け取ったデータを解釈する前にバッファーがいっぱいになるまで待つ必要があるため、コードは IE で望ましい効果を得ることができません
うーん、いいえ、私はこの関数についてあまり知りません。テストにはChromeを使用しています。
実際、私はこの効果を実現したいと考えています: たとえば、いくつかのファイルをバッチで処理するスクリプトを作成します
しかし、他の人がそれを使用すると、そのプロセスが実行されているか停止しているかがわかりません。 。
そこで、ループが正常に実行されるたびに xxxx が正常に実行されたという文を出力したいと考えています。
-------------
最も似ているのは、インストール時にデータ テーブルを作成するときの表示です。オープンソースソフトウェア。 。
ただし、自分で書いたものはすべてのデータテーブルが作成されるまで表示されません。
この種の理由もなくユーザーの帯域幅を占有するのは非常に退屈です
遅延出力の効果は、js を使用してブラウザに実装する必要があります
IE は待機する必要があるため、コードは IE で望ましい効果を得ることができません 受信したデータのみを解釈しますバッファがいっぱいになった後
私のアイデアは、完了した操作を「遅延」させるのではなく、「即時に」表示することです。司会者は何を考えているのだろうか。
同じ質問です!また、数時間実行する必要があるプログラムもあり、それが正常に実行されているかどうかを判断するには、データベース内のデータを確認するしかありません。
私の一時的なアプローチは、単純なモニタリングのみです。たとえば、プログラムに memcache 書き込み操作を追加し、読み取るために別のページを書き込みます。
同じ質問です!また、数時間実行する必要があるプログラムもあり、それが正常に実行されているかどうかを判断するには、データベース内のデータを確認するしかありません。
私の暫定的なアプローチは、単純なモニタリングのみです。たとえば、プログラムに memcache 書き込み操作を追加し、読み取るために別のページを書き込みます。 良い方法がある場合は、忘れずに共有してください。他のオープン ソース コードがインストール中にどのようにインスタント表示効果を実現するかを確認してみます。
また戻ってきました、試してみてください
<?phpecho str_pad('',4096);set_time_limit(50);for($i=0;$i<=5;$i++){ echo $i.'<br />';ob_flush();flush(); sleep(1);}?>
また戻ってきました、試してみてください
<?phpecho str_pad('',4096);set_time_limit(50);for($i=0;$i<=5;$i++){ echo $i.'<br />';ob_flush();flush(); sleep(1);}?>
また戻ってきました、試してみてください
<?phpecho str_pad('',4096);set_time_limit(50);for($i=0;$i<=5;$i++){ echo $i.'<br />';ob_flush();flush(); sleep(1);}?>
うーん、最初はphp_cliを使おうと思ったんですが、手順が多くて不親切だと思ったので、ページを開くのが負担になってしまいました。 . さあ、cliを使うことにしました。
うーん、最初はphp_cliを使おうと思ったんですが、手順が多くて不親切だと思ったので、ページを開くのが負担になってしまいました。 . さあ、cliを使うことにしました。 今日はもう一度Chromeを使ってテストしてみましたが、計算が完了するのを待って一度に出力しました。