Foros del Web » Programando para Internet » PHP »

Windows + PHP no controla el buffer. Solución?

Estas en el tema de Windows + PHP no controla el buffer. Solución? en el foro de PHP en Foros del Web. Pues estoy intentando hacer un juego en PHP, y quiero que en ciertos momentos tarde en mostrar algo (algo así como rapidshare, pero con el ...
  #1 (permalink)  
Antiguo 16/02/2007, 15:35
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Windows + PHP no controla el buffer. Solución?

Pues estoy intentando hacer un juego en PHP, y quiero que en ciertos momentos tarde en mostrar algo (algo así como rapidshare, pero con el buffer interno).

El caso es que si hago esto en Windows:
Código PHP:

$seg 
date('s');
while(
$tiempoFin time()) {
  if(
$seg != date('s')) {
    echo 
"Quedan $timeleft segundos...<br />\r\n";
    
flush(); ob_flush(); // Y hasta poniendo esto sigue sin funcionar :(
    
$timeleft--;
    
$seg date('s');
  }

}

echo 
"Prueba pasada";
$_SESSION['canContinue'] = true// ;) 
Utilizo ob_start() y al final ob_end_flush(), pero ni con los flush() ni ob_flush() funciona en Windows.
Ya no me funcionaba en XP, pero en Vista tampoco.
  #2 (permalink)  
Antiguo 16/02/2007, 15:40
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Re: Windows + PHP no controla el buffer. Solución?

usa sleep();
  #3 (permalink)  
Antiguo 16/02/2007, 16:06
 
Fecha de Ingreso: febrero-2006
Mensajes: 134
Antigüedad: 18 años, 2 meses
Puntos: 10
Re: Windows + PHP no controla el buffer. Solución?

Ya probé.
Sigue sin mandarme los datos a la salida hasta que termina el script :(
  #4 (permalink)  
Antiguo 02/12/2007, 15:31
Avatar de killerangel  
Fecha de Ingreso: septiembre-2007
Ubicación: Un punto en el espacio
Mensajes: 592
Antigüedad: 16 años, 7 meses
Puntos: 10
Re: Windows + PHP no controla el buffer. Solución?

Tambien tengo el mismo problema... Aunque en mi caso si hago un

for($i=1;$i<=10;$i++){
echo $i.'<br>';
flush();
ob_flush();
sleep(1)
}

me manda los datos del buffer solo hasta 3 y despues todos los demas en un solo paso y un mensaje de error del ob_flush() en cada vuelco de datos. Claro que si kito el ob_flush me bota los datos despues de los 10 segundos.

Es problema de windows, php o de los dos?
  #5 (permalink)  
Antiguo 02/12/2007, 16:03
 
Fecha de Ingreso: septiembre-2007
Mensajes: 220
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: Windows + PHP no controla el buffer. Solución?

Habeis probado con:

Código PHP:
for ($i 1;  $i <= 10$i++)
{
  
ob_start();
  echo 
$i.'<br>';
  
flush();
  
ob_end_flush();

Teneis activado el gzip en el apache??
Con qué navegador habeis probado??
  #6 (permalink)  
Antiguo 02/12/2007, 16:32
 
Fecha de Ingreso: noviembre-2007
Mensajes: 157
Antigüedad: 16 años, 5 meses
Puntos: 3
Re: Windows + PHP no controla el buffer. Solución?

El navegador también tiene un buffer. Si no se ha producido suficiente salida de datos, puede ocurrir que no lo muestre hasta que lleguen más o se termine de enviar el documento.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 07:23.