システム出力バッファをフラッシュする

# flush

(PHP 4, PHP 5, PHP 7)

flush — システム出力バッファをフラッシュする

### 説明

flush ( void ) : void

PHP および PHP が使っている (CGI, Web サーバーなどの) バックエンドのシステム書き込みバッファをフラッシュします。 それまでのすべての出力をユーザーのブラウザに対して出力しようと試みますが、 注意すべき点があります。

flush() はウェブサーバーのバッファリング手法を上書きすることはできません。 また、クライアント側のブラウザでのバッファリングにはなんの影響も及ぼしません。 PHP のユーザーレベルでの出力バッファリングの仕組みにも影響を及ぼしません。 つまり、もし ob 出力バッファを使用しているのなら ob_flush() と flush() の両方をコールしなければなりません。

いくつかのサーバー、特に Win32 上ではスクリプトからの出力をブラウザに 結果を送信する前にスクリプトが終了するまでバッファに溜めることがあります。

mod_gzip のような Apache 用のサーバーモジュールはそれ自体がバッファリングを行います。 そのため、flush() をコールしても 即時にデータをクライアントに送信しないという結果につながります。

ブラウザ側で表示前に入力をバッファリングすることもあり得ます。 Netscape では例えば改行または開始タグを受信するまでテキストは バッファリングされ、最も外側のテーブルの </table> タグが現れるまでテーブルは描画されません。

いくつかのバージョンの Microsoft Internet Explorer は、256 バイトの 出力を受けてからページを表示し始めます。このため、これらのブラウザに ページを表示させるには、フラッシュする前に余分な空白を送信する 必要があるかもしれません。

### 返り値

値を返しません。

### 参考

- ob_flush() - 出力バッファをフラッシュ(送信)する
- ob_clean() - 出力バッファをクリア(消去)する
- ob_end_flush() - 出力用バッファをフラッシュ(送信)し、出力のバッファリングをオフにする
- ob_end_clean() - 出力用バッファをクリア(消去)し、出力のバッファリングをオフにする