PHP - Menudo quebradero de cabeza

 
Vista:

Menudo quebradero de cabeza

Publicado por vistor (15 intervenciones) el 28/12/2004 11:03:20
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Menudo quebradero de cabeza

Publicado por Alberto (60 intervenciones) el 28/12/2004 14:56:47
No se si en PHP hay funciones para hacer lo que pedis, si se que la funcion Header debe estar si o si al final del codigo PHP, es decir que para tu caso no sirve.

Por otro lado creo que tenes un error de concepto en tu algoritmo (es mi punto de vista, puedo equivocarme)

PHP se ejecuta en el servidor y JAVASCRIPT en el cliente, es decir no podes mezclar ambos (o sea no podes pedir que se ejecute PHP y JAVASCRIPT al mismo tiempo), ya que mientras se ejecuta el bucle, esto se hace en el servidor y no se interpreta nada en el browser del cliente, cuando se ternina de ejecutar el PHP, se envia el resultado al cliente y ahi se ejecuta el JAVASCRIPT "window.open".

Lo que yo haria es que se carge una pagina en un iframe, y que esta pagina se auto recarge cada x segundo, enviando una variable con el nombre del ultimo archivo leido, entonces al recibir esto con PHP lees el el archivo de nuevo, buscar el siguiente nombre y generas una nueva pagina con el nuevo codigo window.open con la nueva pagina a ejecutar.

Tal vez haya alguna manera de hacerlo directamente con PHP, pero yo la desconozco y no se si se puede.

Saludos y si encontras la forma te agradeceria que la comentes.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Menudo quebradero de cabeza

Publicado por vistor (15 intervenciones) el 29/12/2004 09:31:23
Creo que ya se por donde vas. Y creo que posiblementre tengas razón, es decir, primero se ejecuta todo el script en el servidor, lo envía al cliente, y luego ejecuta el javascript. A lo cual lo que yo he pensado es leer el fichero en PHP, que lo envíe al cliente, y una vez alli ejecute el resto en javascript. Es decir, a partir de el bucle. Crees que sería correcto? El problema es que no dispongo de conocimientos suficientes como para hacer eso en javascript. Supongo que no sería muy complicado pero... me podrias poner un ejemplo de como hacer eso o de como hacer lo que tu me has sugerido???

Muchisimas gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar