ob_get_flush

アクティブな出力ハンドラの戻り値をフラッシュ(送信)し、その内容を文字列として返した後で、それをオフにする

説明

stringfalse ob_get_flush()

この関数は、 (PHP_OUTPUT_HANDLER_FINAL フラグを指定して) 出力ハンドラをコールし、その戻り値をフラッシュ(送信)するとともに、 アクティブな出力バッファの内容を返しつつ、 それをオフにします。

PHP_OUTPUT_HANDLER_REMOVABLE を指定して アクティブな出力バッファを開始しないと、 ob_get_flush は失敗します。

ob_get_flush は、PHP_OUTPUT_HANDLER_FLUSHABLE を指定せずにアクティブな出力バッファを開始したとしても、 出力ハンドラの戻り値をフラッシュ(送信) します。

パラメータ

この関数にはパラメータはありません。

戻り値

成功した場合、アクティブな出力バッファの内容を返します。 失敗した場合、false を返します。

エラー / 例外

この関数が失敗すると、 E_NOTICE が発生します。

例1 ob_get_flush の例

<?php
//output_buffering=On であるとします
print_r(ob_list_handlers());

// バッファをファイルに保存します
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);

print_r(ob_list_handlers());
?>

上の例の出力は以下となります。

Array
(
    [0] => default output handler
)
Array
(
)

参考

  • ob_start
  • ob_get_contents
  • ob_flush
  • ob_end_flush
  • ob_get_clean