(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
ob_get_flush — Flush (send) the return value of the active output handler, return the contents of the active output buffer and turn it off
This function calls the output handler
(with the PHP_OUTPUT_HANDLER_FINAL
flag),
flushes (sends) it's return value,
returns the contents of the active output buffer
and turns off the active output buffer.
ob_get_flush() will fail
without an active output buffer started with the
PHP_OUTPUT_HANDLER_REMOVABLE
flag.
ob_get_flush() will flush (send)
the return value of the output handler
even if the active output buffer was started without the
PHP_OUTPUT_HANDLER_FLUSHABLE
flag.
This function has no parameters.
Returns the contents of the active output buffer on success
or false
on failure.
If the function fails it generates an E_NOTICE
.
Example #1 ob_get_flush() example
<?php
//using output_buffering=On
print_r(ob_list_handlers());
//save buffer in a file
$buffer = ob_get_flush();
file_put_contents('buffer.txt', $buffer);
print_r(ob_list_handlers());
?>
The above example will output:
Array ( [0] => default output handler ) Array ( )
Hi,
this is just to add a behavior that I haven't understud at first place.
ob_get_flush actually returns the content of the buffer as a text but also it sends the buffer back to the browser so that it's displayed on user screen.
Use ob_get_clean if you do not want the buffer to be send to the user