ob_end_flush

(PHP 4, PHP 5, PHP 7)

ob_end_flush出力用バッファをフラッシュ(送信)し、出力のバッファリングをオフにする

説明

ob_end_flush ( void ) : bool

この関数は、出力用バッファの内容を出力し、出力のバッファリングをオフにします。 出力用バッファの内容を更に処理したい場合には、 バッファの内容は ob_end_flush() がコールされた後に消去されるため、 ob_end_flush() の前に ob_get_contents() をコールする必要があります。

出力バッファを開始するときに、 ob_start()PHP_OUTPUT_HANDLER_FLUSHABLE および PHP_OUTPUT_HANDLER_REMOVABLE フラグを指定する必要があります。指定しなければ、ob_end_flush() は動作しません。

注意: この関数は ob_get_flush() に似ていますが、 ob_get_flush() はバッファを文字列として返すという点が違います。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。 失敗する原因は、まず、アクティブなバッファ以外に対してこの 関数をコールしたか、あるいは何らかの理由により バッファを消去することができなかった場合です(特殊なバッファ等)。

エラー / 例外

この関数は失敗すると E_NOTICE レベルのエラーを発行します。

例1 ob_end_flush() example

以下は全ての出力バッファをフラッシュし終了する簡単な方法の例です。

<?php
  
while (@ob_end_flush());
?>

参考

  • ob_start() - 出力のバッファリングを有効にする
  • ob_get_contents() - 出力用バッファの内容を返す
  • ob_get_flush() - 出力バッファをフラッシュし、その内容を文字列として返した後で出力バッファリングを終了する
  • ob_flush() - 出力バッファをフラッシュ(送信)する
  • ob_end_clean() - 出力用バッファをクリア(消去)し、出力のバッファリングをオフにする