Foros del Web » Programando para Internet » PHP »

¿Como demorar una ejecucion de codigo?

Estas en el tema de ¿Como demorar una ejecucion de codigo? en el foro de PHP en Foros del Web. Hola tengo un pequeño problema nesecito ejecutar un codigo pasado un cierto tiempo... la funcion sleep no me soluciona el problema. si tengo algo como ...
  #1 (permalink)  
Antiguo 25/04/2005, 16:27
 
Fecha de Ingreso: abril-2005
Mensajes: 16
Antigüedad: 19 años
Puntos: 1
¿Como demorar una ejecucion de codigo?

Hola tengo un pequeño problema nesecito ejecutar un codigo pasado un cierto tiempo... la funcion sleep no me soluciona el problema.
si tengo algo como esto:
for ($i=0;$i<$n;$i++)
{
echo "cont=",$i,"<br>";
sleep(2);
}
En teoria el codigo deberia de mostrarme cada 2 seg. el contador ($i), pero no es asi, la pagina se queda en espera ($n*2seg.), y luego ejecuta toda la accion inmediatamente. Lo que nesecito es una especie de setInterval, esa funcion existe en javascrit. Si alguien me puede ayudar se lo agradesco....
  #2 (permalink)  
Antiguo 26/04/2005, 04:08
Avatar de Parzival  
Fecha de Ingreso: junio-2004
Ubicación: Vive en el foro
Mensajes: 190
Antigüedad: 19 años, 10 meses
Puntos: 2
Para eso lo más fácil sería utilizar javascript. Ando un poco apurado ahora, pero si puedo luego te cuelgo algún ejemplo. Aunque si te pones a buscar por google fijo que encuentras algo =)
  #3 (permalink)  
Antiguo 26/04/2005, 04:48
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
.. perdona la ignoracia pero.. ¿exactamente qué hace dicha función setInterval? ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 26/04/2005, 05:28
 
Fecha de Ingreso: diciembre-2003
Mensajes: 18
Antigüedad: 20 años, 3 meses
Puntos: 0
Hola!

Creo que necesitas el uso de las funciones de control de salida.

Mira este enlace, sobretodo los comentarios, seguro que encuentras lo que buscas.

Un saludo.
__________________
THE MATRIX HAS YOU
  #5 (permalink)  
Antiguo 26/04/2005, 06:16
 
Fecha de Ingreso: marzo-2005
Mensajes: 163
Antigüedad: 19 años, 1 mes
Puntos: 0
Tal ves podrias probar que la pagina se recargue cada x tiempo:

<META HTTP-EQUIV="Refresh" CONTENT="5; url=http://www.html.it">
Espero que te sirva.Saludos
  #6 (permalink)  
Antiguo 26/04/2005, 08:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El tema va por lo que comenta swas con respecto al control del buffer de PHP .. Por defecto PHP va acomulando en su buffer de salida todo lo que se va generando .. al terminar el script (su ejecución) .. se entrega el buffer de salida al cliente (navegador o lo que esté ahí como "cliente").

Con las funciones como flush() y afines .. puedes "forzar" a enviar ese buffer de salida cuando lo necesites .. Pero igualemente por ejemplo ciertos navegadores como IE no interpretan nada hasta que no reciben N cantidad de bytes .. (en los comentarios de los usuarios de flush() creo que por ahí lo mencionan) .. así que en tu caso particular podría ser que con "flush()" tampoco conseguirías tu objetivo.

A todo esto .. si retrasas la ejecución de un script .. tendrás que darle más tiempo de ejecución al mismo con la función: set_time_limit() (que por defecto son 30 segundos) ...

Por otro lado .. no sé que es lo que requieres o el objetivo de retrasar la ejecución de un script N tiempo .. expón el problema completo .. tal vez ese no sea el camino o no sea viable hacerlo así ...

Un saludo,

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 06:54.