1

スクリプトの実行が終了したときに、文字列を一度にすべてではなく、動的にエコーしたい。これを試してみましたが、スクリプトの実行が終了するとすべてがエコーされます。値を動的にエコーするにはどうすればよいですか?

<?php
ob_start();

echo "Line #1...<br>";
ob_flush();
flush();
sleep(2);

echo "Line #2...<br>";
ob_flush();
flush();
sleep(2);

echo "Line #4...<br>";

?>
4

1 に答える 1

2

\n のような行末を送信するか、各エコーに少なくとも 256 個のスペースを追加して、ブラウザーをトリガーしてみてください。

一部のブラウザーはレンダリング前に少なくとも 256 バイト待機しますが、他のブラウザーは改行文字が必要です。各フラッシュの前に、次の組み合わせを試してください。

echo str_repeat(" ", 256) . "\n";

他の原因は、応答をキャッシュしている Web サーバーである可能性があります。

于 2012-07-21T11:21:39.450 に答える