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

# ob_get_flush

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

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

### 説明

function ob_get_flush(): string|false

この関数は、 (`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() - アクティブな出力バッファの内容を取得し、そのバッファをオフにする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open