Ver Mensaje Individual
  #16 (permalink)  
Antiguo 23/12/2010, 12:51
lmerli
 
Fecha de Ingreso: junio-2006
Ubicación: España
Mensajes: 122
Antigüedad: 18 años, 5 meses
Puntos: 2
Respuesta: Problemas con flush()

Hola de nuevo, haciendo más pruebas, me he puesto a buscar ejemplos por internet, y me he topado con este.

Código PHP:
Ver original
  1. <?PHP
  2. $buffer = str_repeat(" ", 4096)."\r\n<span></span>\r\n";
  3.  
  4. for ($i=0; $i<25; $i++) {
  5.   echo $buffer.$i;
  6.   ob_flush();
  7.   flush();
  8.   sleep(1);
  9. }
  10.  
  11. ?>

Primaramente lo he probado en mi servidor local de pruebas (Xampp) y posteriormente al ver que funcionaba perfectamente, lo he enviado por ftp al servidor.

Y lo he ejecutado, y he visto que no hacia nada, hasta los 15 segundos, que me ha enviado los primeros 15 numeros y luego los restantes para llegar al 24.

Bueno un buen paso, con este almenos ha enviado una vez, y he pensado, si lo hace cada 15 vueltas, si envio 15 caracteres más.. quizas lo haga como yo quiero. Entonces el script ha quedado de tal forma
Código PHP:
Ver original
  1. <?PHP
  2. $buffer = str_repeat(" ", 61440)."\r\n<span></span>\r\n";
  3.  
  4. for ($i=0; $i<25; $i++) {
  5.   echo $buffer.$i;
  6.   ob_flush();
  7.   flush();
  8.   sleep(1);
  9. }
  10.  
  11. ?>

Lo modifico y lo subo y wala! cada 1 segundo envia el numero correspondiente!.

Entonces esto significara que en mi hosting / php.ini, habra configurada alguan sentencia que indique a cuantos caracteres enviar el buffer o algo asi. no?

Dicho esto, que puedo hacer? he intentado con el ini_set("buffering ","4096"); y nada

gracias!