(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
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 ( )