ob_get_clean

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

ob_get_cleanアクティブな出力バッファの内容を取得し、そのバッファをオフにする

説明

ob_get_clean(): string|false

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

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

ob_get_clean() は、PHP_OUTPUT_HANDLER_CLEANABLE を指定せずにアクティブな出力バッファを開始したとしても、 そのバッファの内容をクリアします。

パラメータ

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

戻り値

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

警告

アクティブな出力バッファがない場合、  ob_get_clean()false を返しますが E_NOTICE は発生しません。

エラー / 例外

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

例1 単純な ob_get_clean() の例

<?php

ob_start();

echo "Hello World";

$out = ob_get_clean();
$out = strtolower($out);

var_dump($out);
?>

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

string(11) "hello world"

参考

  • ob_start() - 出力のバッファリングを有効にする
  • ob_get_contents() - 出力用バッファの内容を返す
  • ob_clean() - アクティブな出力バッファの内容をクリア(消去)する
  • ob_end_clean() - アクティブな出力用バッファをクリア(消去)し、出力のバッファリングをオフにする
  • ob_get_flush() - アクティブな出力ハンドラの戻り値をフラッシュ(送信)し、その内容を文字列として返した後で、それをオフにする