この関数は出力のバッファリングをオンにします。出力のバッファリン グがアクティブの場合、スクリプトからの出力は実際には行われず、代 わりに内部バッファに追加されます。
この内部バッファの内容は、ob_get_contents() を 用いて文字列変数にコピーされます。実際の出力は、 ob_end_flush() がコールされた際に行われます。 ob_end_clean() は、バッファの内容を出力せずに 消去します。
オプションの引数 output_callback 関数を指定することが可能です。こ の関数は、パラメータとして文字列をとり、文字列を返します。このコー ルバック関数は、ob_end_flush() 実行時にコール され、出力バッファの内容をパラメータとして受取ります。このコール バック関数は、新規の出力バッファを実際に出力される結果として返す 必要があります。
出力バッファはスタッカブルであり、このため、他の ob_start() がアクティブの間に ob_start() をコールすることが可能です。この場 合、ob_end_flush()() を適当な回数コールするよ うにして下さい。複数の出力コールバック関数がアクティブの場合、出 力はネストした順番で逐次連続的にフィルタ処理されます。
ob_get_contents(), ob_end_flush(), ob_end_clean(), ob_implicit_flush()も参照下さい。