« ob_flush
ob_get_contents »

ob_get_clean

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

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

説明

function ob_get_clean(): string|false

この関数は、 (PHP_OUTPUT_HANDLER_CLEAN と PHP_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() - アクティブな出力ハンドラの戻り値をフラッシュ(送信)し、その内容を文字列として返した後で、それをオフにする

関連キーワード:
バッファ   オフ   クリア   flush   contents   ハンドラ   開始   start   リング   消去   制御   フラグ   破棄   成功   Hello   World   strtolower   dump   hello   world   参考   フラッシュ   送信
関連する関数・ページ:
function.ob-end-clean   function.ob-clean   ref.outcontrol   function.ob-end-flush   function.ob-get-contents   function.ob-get-flush