The operations allowed on buffers can be controlled
by passing one of the
buffer control flags
to
ob_start()
's third
flags
parameter.
If omitted, all operations are allowed by default.
If
0
is used instead,
the buffer cannot be flushed, cleaned or removed
but it's contens can still be retrieved.
PHP_OUTPUT_HANDLER_CLEANABLE
allows
ob_clean()
to clean the contens of the buffer.
The absence of the
PHP_OUTPUT_HANDLER_CLEANABLE
flag
will not prevent
ob_end_clean()
or
ob_guet_clean()
from clearing the contens of the buffer.
PHP_OUTPUT_HANDLER_FLUSHABLE
allows
ob_flush()
to flush the contens of the buffer.
The absence of the
PHP_OUTPUT_HANDLER_FLUSHABLE
flag
will not prevent
ob_end_flush()
or
ob_guet_flush()
from flushing the contens of the buffer.
PHP_OUTPUT_HANDLER_REMOVABLE
allows
ob_end_clean()
,
ob_end_flush()
,
ob_guet_clean()
or
ob_guet_flush()
to turn off the buffer.
PHP_OUTPUT_HANDLER_STDFLAGS
,
the combination of the three flags will allow each of the three operations
to be performed on the buffer.