VacĂa los bĂşferes de salida de PHP y de cualquiera que sea el motor que PHP estĂ© usando (CGI, un servidor web, etc). Esto en efecto trata de enviar toda la salida acumulada hasta el momento al navegador del usuario.
flush() no tiene efectos sobre el método de uso de búferes de su servidor web o del navegador en el lado del cliente. Por lo tanto es necesario llamar tanto a ob_flush() como a flush() para volcar los búferes de salida.
Varios servidores, especialmente en Win32, seguirán almacenando la salida de su script en búferes hasta que éste termine antes de transmitir los resultados al navegador.
Puede que algunos mĂłdulos de servidor para Apache como mod_gzip usen bĂşferes propios que causarán que flush() no resulte en un envĂo inmediato de datos al cliente.
Incluso el navegador puede usar bĂşferes de entrada antes de mostrar el resultado. Netscape, por ejemplo, almacena en bĂşfer el texto hasta que recibe un final-de-lĂnea o el comienzo de una etiqueta, y no renderiza las tablas hasta que la etiqueta </table> de la tabla más externa sea encontrada.
Algunas versiones de Microsoft Internet Explorer solo empezarán a desplegar la página después de que han recibido 256 bytes de salida, asà que puede que sea necesario enviar espacios en blanco extra antes del volcado para lograr que se despliegue la página en esos navegadores.