0

php(ループ内)を使用して要素のセット(たとえば100)を構築する場合、ページはループが完了したときにのみクライアントに送信されますか、それともループが完了する前にクライアント側のページがすでにクライアントに表示されていますか?ありがとう

4

3 に答える 3

3

PHPコードでいつでもクライアントブラウザへの出力を制御できます

例クライアントに即座に送信

for($i = 0; $i < 100; $i ++) {
    echo $i, " - sent ";
    sleep(1);
    flush(); // Send to client Instantly 
}

ループ後に送信する例

ob_start();
for($i = 0; $i < 100; $i ++) {
    echo $i, " - sent ";
    sleep(1);
}
ob_end_flush() // Send after loop

例3(これはデフォルトの出力バッファー構成を使用するだけです)

for($i = 0; $i < 100; $i ++) {
    echo $i, " - sent ";
    sleep(1);
}

最後に(クレジット:ニンスオ)

一部のブラウザは、ページが完全に読み込まれるまで何も表示しないため、常にフラッシュを制御するとは限りません。

于 2012-09-13T11:50:29.513 に答える
1

これは、出力バッファリングがどのように構成されているかによって異なります。

ここでさまざまなオプションを確認できます。

于 2012-09-13T11:43:28.733 に答える
0

スクリプトが終了するまで、ユーザーに表示されるものに依存することはできません。PHPのバッファリング設定を設定できる場合もありますが、これは、バッファリングされる場合とされない場合があるApacheを経由してから、バッファリングされる場合とされない場合があるブラウザに送られます。

データが利用可能になったときにユーザービットを表示する最も安全な方法は、ページが読み込まれた後にクライアントブラウザーからAJAX呼び出しを使用することです。

于 2012-09-13T11:54:25.157 に答える