PHP Function Ob-Implicit-Flush
php function ob_implicit_flush is used to enable or disable implicit flushing of the output buffer. Implicit flushing means that the output buffer will be flushed after every output call. This is very useful if you need to capture the output of certain functions such as phpinfo () and then process it for gzip compression, simple string substitution or for generating static files. It also helps to prevent browsers from displaying cached content, which can cause 504 Gateway Time-out errors.
A very important thing to note is that ob_implicit_flush() only effects the system output buffer of PHP and not the web server itself. This is why you still need to use a buffer control in your scripts. It also doesn't override any buffering done at a higher level than PHP such as by antivirus software or the Apache mod_deflate gzip compression module.
The ob_implicit_flush() function can be used with an integer parameter called chunk_size, which is the size of the internal buffer that will be flushed after each output call. This value can be modified by using the PHP_OUTPUT_HANDLER_FLUSHABLE | PHP_OUTPUT_HANDLER_CLEANABLE | PHP_OUTPUT_HANDLER_REMOVABLE constants. The third parameter of ob_implicit_flush() has been changed from a boolean value to an integer parameter called flags, which may cause some compatibility issues with code written prior to PHP 5.4.0. This change allows custom error handlers to catch ob_implicit_flush() failures. The default value of the flags parameter is FALSE. ob_implicit_flush() returns TRUE if successful and FALSE otherwise.