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 does not turn off buffering ...
Get Programming PHP, 3rd Edition 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.