出力バッファをネストさせる

新しいバッファが開始されたときに、既にアクティブな出力バッファがある場合、 新しいバッファは、以前にアクティブだったバッファの内部にネストされます。 ネストされたバッファは、ネストされているかどうかに関係なく同じ動作をしますが、 ネストされたバッファによってバッファリングされた出力は、 以前にアクティブだった外側のバッファにはバッファリングされません。 ネストされたバッファからフラッシュされた出力のみが、 外側のバッファによってバッファリングされます。

ほとんどの ob_* 関数は、アクティブな出力バッファ(最後に開始されたもの)に対してのみ動作するため、 アクティブなバッファのみをフラッシュ、クリーン、オフにすることができます。 それ以外のバッファに対して動作する関数は、 使用中のすべての出力ハンドラのリストを返す ob_list_handlers や、 アクティブなバッファや使用中のすべてのバッファに関する情報を返すことができる ob_get_status があります。

ob_get_levelob_get_status をコールすると、アクティブな出力バッファのネストレベルを返します。

警告

ob_get_levelob_get_status が指す、同じレベルの値は1つずれています。 ob_get_level では最初のレベルは 1 であるのに対し、 ob_get_status の最初のレベルは 0 になります。