Ver Mensaje Individual
  #3 (permalink)  
Antiguo 19/09/2011, 01:11
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Búfer de salida

Bueno, a manera de resumen:

Es posible que tanto el servidor como el navegador hagan complot (generalmente porque la informacion viaja comprimida) para evitar que la salida enviada por PHP aparezca en pantalla hasta que se cumplan ciertos requisitos, como que se reciba cierta cantidad de caracteres o se envie una instruccion especifica (como flush()) o algun otro evento.

Entonces, la informacion viaja en paquetes y mientras estos no esten completos, no se mostraran en pantalla. Logicamente dependera de la configuracion tanto de servidor como del navegador.

La opcion que menciona fjflores con ob_start() y funciones relacionadas, sirve para que PHP guarde toda la salida en un buffer especifico que te permitira almacenarlo en una variable con ob_get_contents(), enviarlo hasta que tu lo quieras con ob_end_flush() y/o cancelar todo el envio con ob_end_clean().

Como ves, flush() y ob_XXXX() tienen diferente uso, generalmente esta ultima es "mal usada" para evitar mensajes de error referentes a encabezados por activar sesiones, redirigir a otra pagina, crear cookies, etc.
__________________
- León, Guanajuato
- GV-Foto