次の 3 つの関数の使用法
ob_get_contents() - 出力バッファの内容を返します
ob_flush() - 出力バッファの内容をフラッシュ (送信)します
ob_clean() - 出力バッファをクリア (消去)
ob_end_flush() - 出力バッファの内容をフラッシュ (送信) し、バッファを閉じます
ob_end_clean() - クリア(erase) ) バッファーを作成し、出力バッファーを閉じます
flush() - 出力バッファーをフラッシュします
通常、ob_flush();flush() は一緒に使用されます
ob_start( ) を使用すると、出力がブラウザではなくバッファに出力されます。
次に、ob_get_contents を使用してバッファ データを取得します。
ob_start() は、すべての出力を保持するためにサーバー上のバッファを開きます。そのため、echo が使用されるたびに、プログラムが終了するか、ob_flush() を使用して終了されるまで、出力はバッファーに追加されます。次に、サーバー内のバッファの内容がブラウザに送信され、ブラウザによって解析されて表示されます。
関数 ob_end_clean はバッファの内容をクリアしてバッファを閉じますが、内容は出力しません。
現時点では、関数 ob_get_contents() を ob_end_clean() の前で使用して、バッファの内容を取得する必要があります。
この場合、ob_end_clean()を実行する前に内容を変数に保存し、ob_end_clean()の後にその変数を操作することができます。
例:
ob_start();
echo "Hello ";
$out1 = ob_get_contents( );
echo "World";
$out2 = ob_get_contents();
ob_end_clean();
var_dump($out1, $out2) ;
?>
出力:
string(6) "Hello "string(11) "Hello World"