Showing posts with label PHP ob_get_contents. Show all posts
Showing posts with label PHP ob_get_contents. Show all posts

Friday, 3 October 2014

ob_end_clean in PHP

ob_end_clean — Clean (erase) the output buffer and turn off output buffering
Syntax: 

bool ob_end_clean ( void )
This function discards the contents of the topmost output buffer and turns off this output buffering. If you want to further process the buffer's contents you have to call ob_get_contents() before ob_end_clean() as the buffer contents are discarded when ob_end_clean() is called.

The output buffer must be started by ob_start() with PHP_OUTPUT_HANDLER_CLEANABLE and PHP_OUTPUT_HANDLER_REMOVABLE flags. Otherwise ob_end_clean() will not work.

Return Values:

Returns TRUE on success or FALSE on failure. Reasons for failure are first that you called the function without an active buffer or that for some reason a buffer could not be deleted (possible for special buffer).

Errors/Exceptions:

If the function fails it generates an E_NOTICE.

Examples:

The following example shows an easy way to get rid of all output buffers:

Example #1 ob_end_clean() example

<?php
ob_start();
echo 'Text that won\'t get displayed.';
ob_end_clean();
?>

ob_get_contents in PHP

ob_get_contents — Return the contents of the output buffer
Syntax: string ob_get_contents ( void )
Gets the contents of the output buffer without clearing it.
Return Values:This will return the contents of the output buffer or FALSE, if output buffering isn't active.
Example #1

<?php
ob_start();
echo "Hello ";
$out1 = ob_get_contents();
echo "World";
$out2 = ob_get_contents();
ob_end_clean();
var_dump($out1, $out2);
?>
Output:

string(6) "Hello "
string(11) "Hello World"