Handling Output
PHP is all about displaying output in the web browser. As such, there are a few different techniques that you can use to handle output more efficiently or conveniently.
Output Buffering
By default, PHP sends the results of
echo
and similar commands to the browser after
each command is executed. Alternately, you can use
PHP’s output buffering functions to gather the
information that would normally be sent to the browser into a buffer
and send it later (or kill it entirely). This allows you to specify
the content length of your output after it is generated, capture the
output of a function, or discard the output of a built-in function.
You turn on output buffering with the ob_start( )
function:
ob_start([callback
]);
The optional callback
parameter is the
name of a function that post-processes the output. If specified, this
function is passed the collected output when the buffer is flushed,
and it should return a string of output to send to the browser. You
can use this, for instance, to turn all occurrences of
http://www.yoursite.com/ to
http://www.mysite.com/.
While output buffering is enabled, all output is stored in an
internal buffer. To get the current length and contents of the
buffer, use ob_get_length( )
and ob_get_contents( )
:
$len = ob_get_length( ); $contents = ob_get_contents( );
If buffering isn’t enabled, these functions return
false
.
There are two ways to throw away the data in the buffer. The
ob_clean( )
function erases the output buffer but ...
Get Programming PHP now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.