flush
(PHP 4, PHP 5)
flush — 出力バッファをフラッシュする
説明
void flush
( void
)
flush() はウェブサーバのバッファリング手法を上書きすることはできません。
また、クライアント側のブラウザでのバッファリングにはなんの影響も及ぼしません。
PHP のユーザレベルでの出力バッファリングの仕組みにも影響を及ぼしません。
つまり、もし ob 出力バッファを使用しているのなら ob_flush()
と flush() の両方をコールしなければなりません。
いくつかのサーバ、特に Win32 上ではスクリプトからの出力をブラウザに
結果を送信する前にスクリプトが終了するまでバッファに溜めることがあります。
mod_gzip のような Apache 用のサーバモジュールはそれ自体がバッファリングを行います。
そのため、flush() をコールしても
即時にデータをクライアントに送信しないという結果につながります。
ブラウザ側で表示前に入力をバッファリングすることもあり得ます。
Netscape では例えば改行または開始タグを受信するまでテキストは
バッファリングされ、最も外側のテーブルの </table> タグが現れるまでテーブルは描画されません。
いくつかのバージョンの Microsoft Internet Explorer は、256 バイトの
出力を受けてからページを表示し始めます。このため、これらのブラウザに
ページを表示させるには、フラッシュする前に余分な空白を送信する
必要があるかもしれません。