Description
void
flush ( void )
Flushes the output buffers of PHP and whatever backend PHP is
using (CGI, a web server, etc). This effectively tries to push
all the output so far to the user's browser.
flush() has no effect on the buffering
scheme of your webserver or the browser on the client
side.
Thus you need to call both ob_flush() and
flush() to flush the output buffers.
Several servers, especially on Win32, will still buffer
the output from your script until it terminates before
transmitting the results to the browser.
Server modules for Apache like mod_gzip may do buffering of their own
that will cause flush() to not result in data being
sent immediately to the client.
Even the browser may buffer its input before displaying it.
Netscape, for example, buffers text until it receives an
end-of-line or the beginning of a tag, and it won't render
tables until the </table> tag of the outermost table is
seen.
Some versions of Microsoft Internet Explorer will only start to display
the page after they have received 256 bytes of output, so you may need to
send extra whitespace before flushing to get those browsers to display the
page.