Quebradero de cabeza

vistor
01 de Enero del 2005
A ver si me pueden ayudar:

Necesito hacer un script en PHP para ir abriendo unas URL's cada x segundos en sendas ventanas nuevas. Dichas URL's están almacenadas en un fichero del cual las recojo mediante un file() y las meto en un array. Si hago el script de tal manera que lea el fichero y me abra una sola ventana nueva con la primera URL todo va bien. El problema es cuando tiene que abrir varias o cuando tienen que esperar x segundos.

El script se desarrolla de la siguiente manera, o por lo menos eso quiero:

- Inicio
- leer fichero
- almacenar cada URL en un array
//Hasta ahi todo va bien
- Empezar el bucle que se repetirá siempre y cuando queden URL's que abrir
- Abrir una ventana nueva mediante un window.open con la siguiente URL del array
- Esperar x segundos
- Fin del bucle
- Fin del programa

Como veis, en principio parece bastante sencillo. Pues no. Si todo fuera bien, tendría que abrir la primera ventana antes de ponerse a esperar los segundos que yo le diga. Pues no es asi. Lo que yo creo que hace es que entra todas las veces necesarias en el bucle hasta que no encuentra mas URL's y luego abre una sola ventana.

¿Como puedo hacerlo para que vaya abriendo las ventanas tal y como yo quiero? Es decir que cada x segundos me abra una ventana con la siguiente URL.
Supongo que la funcion window.open de javascript es bastante sensibe y segun como no funciona. Lo puedo hacer mediante un Header de PHP? se le puede decir al header que abra alguna ventana nueva? Hay alguna funcion en PHP que haga eso? Y si no es así. ¿Lo puedo hacer en otro lenguaje?

Muchisimas gracias. Me urge mucho que me puedan ayudar.

axmug
01 de Enero del 2005
Con un header esto se podría hacer pero no conozco ninguna instrucción PHP que espere durante x segundos. Si no la hubiera tienes la opción de poner un for.

Espero que esto te ayude.

Saludos.

tgp
01 de Enero del 2005
eso es mejor que lo hagas con javascript o con html seria asi:

<META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://www.miejemplo.com">

donce 5 son los segundos que espera para redireccionar

con java no me acuerdo

espero te sirva

saludos

aGaiNST
01 de Enero del 2005
Buenas tienes la funcion sleep para indicarle el tiempo que quieres que espere el programa para abrir una URL.

void sleep ( int seconds)
http://es.php.net/manual/es/function.sleep.php

Y usleep

void usleep ( int micro_seconds)
http://es.php.net/manual/es/function.usleep.php