Foros del Web » Programando para Internet » PHP »

Al leer una linea de un fichero y hacerle un echo ¿es entregada al cliente?

Estas en el tema de Al leer una linea de un fichero y hacerle un echo ¿es entregada al cliente? en el foro de PHP en Foros del Web. Tengo una duda al leer un fichero linea por linea y darle salida con un "echo", el cliente que lee la pagina va obtenindo el ...
  #1 (permalink)  
Antiguo 12/05/2005, 21:13
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 1
Pregunta Al leer una linea de un fichero y hacerle un echo ¿es entregada al cliente?

Tengo una duda al leer un fichero linea por linea y darle salida con un "echo", el cliente que lee la pagina va obtenindo el contenido o hasta que no termina de leer/ejecutar el codigo php no entraga nada al cliente.

$fd = fopen("fichero.txt", "r");

while(!feof($fd)){

$buffer = fgets($fd, 4096);

echo $buffer;

}

fclose($fd);

por poner un ejemplo osea cuando haces un echo el buffer generado se le iria entregando al cliente o hasta que no ternime de interpretar el php no entraga nada?
  #2 (permalink)  
Antiguo 13/05/2005, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
En principio PHP va almacenando en su buffer de salida todo "echo" y salida que se genere dinámicamente ..

Pero, si usas las funciones de control del buffer como por ejemplo flush() podrías "forzar" a entregar al buffer de salida de PHP lo que tenga en ese instante.

Un saludo,
  #3 (permalink)  
Antiguo 13/05/2005, 11:08
 
Fecha de Ingreso: enero-2003
Mensajes: 122
Antigüedad: 21 años, 3 meses
Puntos: 1
Cita:
Iniciado por Cluster
En principio PHP va almacenando en su buffer de salida todo "echo" y salida que se genere dinámicamente ..

Pero, si usas las funciones de control del buffer como por ejemplo flush() podrías "forzar" a entregar al buffer de salida de PHP lo que tenga en ese instante.

Un saludo,
Gracias Cluster me podrias poner un ejemplo de como seria con flush()
  #4 (permalink)  
Antiguo 16/05/2005, 07:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Teóricamente:
Código PHP:
bucle(){
// mandar salida al buffer ...
echo "dato";
// forzar la entrega del buffer al cliente
flush();

más info y detalles:
www.php.net/flush

Que te funcione como esperas depende de otros factores no directos de PHP, por ejemplo .. si lees los comentarios de los usuarios de dicha función veras que se menciona que navegadores como IE (de M$) no empiezan a mostrar algo (datos) hasta que no recibe cierta cantidad de datos ..

Un saludo,
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:11.