Flags Passed To Output Handlers
The bitmask passed to the second phase
parameter
of the output handler provides information on the invocation of the handler.
Note:
The bitmask can include more than one flag
and the bitwise &
operator should be used
to check whether a flag is set.
Warning
The value of PHP_OUTPUT_HANDLER_WRITE
and its alias
PHP_OUTPUT_HANDLER_CONT
is 0
therefore whether it is set can only be determined
by using an
equality operator
(==
or ===
).
The following flags are set in a specific phase of the handler's lifecycle:
PHP_OUTPUT_HANDLER_START
is set
when a handler is invoked for the first time.
PHP_OUTPUT_HANDLER_FINAL
or its alias PHP_OUTPUT_HANDLER_END
is set when a handler is invoked for the last time,
i.e. it is being turned off. This flag is also set
when buffers are being turned off by PHP's shutdown process.
The following flags are set by a specific invocation of the handler:
PHP_OUTPUT_HANDLER_FLUSH
is set
when the handler is invoked by calling ob_flush.
PHP_OUTPUT_HANDLER_WRITE
or its alias PHP_OUTPUT_HANDLER_CONT
is set when the size of its contents equals or exceeds the size of the buffer
and the handler is invoked while the buffer is being automatically flushed.
PHP_OUTPUT_HANDLER_FLUSH
is set
when the handler is invoked by calling ob_clean,
ob_end_clean or ob_get_clean.
When ob_end_clean or ob_get_clean
is called, PHP_OUTPUT_HANDLER_FINAL
is set as well.
Note:
When ob_end_flush or ob_get_flush
is called, PHP_OUTPUT_HANDLER_FINAL
is set
but PHP_OUTPUT_HANDLER_FLUSH
is not.