バッファに対して可能な操作は、
出力バッファの制御フラグ
のいずれかを ob_start() の3番めの
flags
パラメータに渡すことで制御できます。
省略した場合、すべての操作がデフォルトで許可されます。
0
を指定すると、
バッファのフラッシュ、クリーン、削除はできませんが、
その内容を取得することはできます。
PHP_OUTPUT_HANDLER_CLEANABLE
を指定すると、
ob_clean() によってバッファの内容を削除できるようになります。
PHP_OUTPUT_HANDLER_CLEANABLE
フラグ
を指定していなくても、
ob_end_clean() や ob_get_clean()
がバッファの内容を削除できなくなるわけではありません。
PHP_OUTPUT_HANDLER_FLUSHABLE
を指定すると、
ob_flush() を使ってバッファの内容をフラッシュできるようになります。
PHP_OUTPUT_HANDLER_FLUSHABLE
フラグ
を指定していなくても、
ob_end_flush() や ob_get_flush()
がバッファの内容をフラッシュできなくなるわけではありません。
PHP_OUTPUT_HANDLER_REMOVABLE
を指定すると、
ob_end_clean(), ob_end_flush(),
ob_get_clean(), ob_get_flush()
を使ってバッファをオフにすることができるようになります。
PHP_OUTPUT_HANDLER_STDFLAGS
は、既に述べた3つのフラグの組み合わせで、
指定するとバッファに対する3つの操作を実行できます。