Foros del Web » Programando para Internet » PHP »

Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Estas en el tema de Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php? en el foro de PHP en Foros del Web. Hola amigos, tengo un problema y ojalá puedan ayudarme Tengo un archivo php, el cual demora unos segundos en ejecutarse, y me gustaría mostrar un ...
  #1 (permalink)  
Antiguo 12/03/2008, 16:04
Avatar de paul77  
Fecha de Ingreso: septiembre-2004
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Hola amigos, tengo un problema y ojalá puedan ayudarme

Tengo un archivo php, el cual demora unos segundos en ejecutarse, y me gustaría mostrar un mensaje o una imagen (ej: loading.gif) mientras se ejecuta el php.

He buscado info y me he encontrado con muchas cosas, pero ninguna me sirve.

El script php, lo llamo desde un enlace, no desde un formulario.

El contenido de mi script php, es algo como esto:

<?php

echo "<img src='loading.gif'>";

exec('instrucciones bash hacia linux'); // esto es lo que demora unos segundos

?>

Lo que sucede, es que el gif me lo muestra al final, cuando ya cargó por completo el script php, y yo quiero que muestre el gif mientras se está ejecutando.

Alguien sabe como hacer esto???

Por favor heeeeelp

gracias de antemano.

bye
  #2 (permalink)  
Antiguo 12/03/2008, 16:09
Avatar de quinqui  
Fecha de Ingreso: agosto-2004
Ubicación: Chile!
Mensajes: 776
Antigüedad: 15 años, 3 meses
Puntos: 56
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Yo lo he visto funcionar pero con AJAX :( Con PHP no sé la verdad cómo se hace, o siquiera si se puede :(
__________________
pipus.... vieeeeeji plomius!!!
*quinqui site*
  #3 (permalink)  
Antiguo 12/03/2008, 16:12
Avatar de paul77  
Fecha de Ingreso: septiembre-2004
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 0
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Cita:
Iniciado por quinqui Ver Mensaje
Yo lo he visto funcionar pero con AJAX :( Con PHP no sé la verdad cómo se hace, o siquiera si se puede :(
Tambien he visto algo con ajax, lo malo que al probarlo me desconfigura el diseño de la página, ya que generalmente esos archivos ajax, vienen acompañados de js, css, y además el DOCTYPE que incluyen en las cabaceras, no es compatible con todos los navegadores ni con mi página web :(

Gracias de todas maneras.
  #4 (permalink)  
Antiguo 12/03/2008, 16:24
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Prueba mandar el flush directo para mostrar el gif:
Código PHP:
<?php

echo "<img src='loading.gif'>";
flush();
exec('instrucciones bash hacia linux'); // esto es lo que demora unos segundos

?>
Ten en cuenta, creo que IE, necesita como mínimo 300 bytes de información para mostrarla en la página así que seria bueno si envías el img junto con todas las cabeceras de HTML.

Saludos.
  #5 (permalink)  
Antiguo 12/03/2008, 16:33
Avatar de paul77  
Fecha de Ingreso: septiembre-2004
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 0
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Cita:
Iniciado por GatorV Ver Mensaje
Prueba mandar el flush directo para mostrar el gif:
Código PHP:
<?php

echo "<img src='loading.gif'>";
flush();
exec('instrucciones bash hacia linux'); // esto es lo que demora unos segundos

?>
Ten en cuenta, creo que IE, necesita como mínimo 300 bytes de información para mostrarla en la página así que seria bueno si envías el img junto con todas las cabeceras de HTML.

Saludos.
Hola GatorV

probé con la instruccion flush() y me funcionó solo en mozilla :( ya que en IE pasa lo mismo que si no pusiera el flush :(

gracias de todas maneras.

Les cuento que lo que hace mi script php, es actualizar ciertos parámetros de mi página, por lo mismo al finalizar el script debo devolverme a la página donde aprete el link "actualizar"

Mi código sería algo así:

Código PHP:
<?php

echo "<img src='loading.gif'>";
flush();
exec('instrucciones bash hacia linux'); // esto es lo que demora unos segundos

header("Location: $pagina"); // retorna a la página desde donde hice clic a actualizar.

?>
Por lo tanto cuando se devuelve a la página, me arroja un error a causa del header, ya que está la imagen.

Gracias por sus comentarios, seguiré viendo, y si lo resuelvo, postearé la solución.
  #6 (permalink)  
Antiguo 12/03/2008, 17:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 6 meses
Puntos: 2135
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Lee lo que te puse mas abajo, IE necesita mas datos para mostrarlo, prueba enviar las cabeceras HTML completas.

Para redireccionar una vez terminado usa un script:
Código PHP:
<script type="text/javascript">window.location='<?php echo $pagina?>';</script>
  #7 (permalink)  
Antiguo 18/03/2008, 20:09
Avatar de paul77  
Fecha de Ingreso: septiembre-2004
Mensajes: 25
Antigüedad: 15 años, 2 meses
Puntos: 0
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Hola a todos, me habia olvidado de postear la solucion al problema

Use las funciones:

Código PHP:
<?
ob_flush
();
flush();
exec('instrucciones bash hacia linux'); // esto es lo que demora unos segundos 
?> 
<script type="text/javascript">window.location='<?php echo $pagina?>';</script>
Con eso se solucionó.

Gracias a todos por su ayuda.

bye
  #8 (permalink)  
Antiguo 19/03/2008, 13:40
Avatar de ElJavista
Colaborador
 
Fecha de Ingreso: marzo-2007
Ubicación: Lima Perú
Mensajes: 2.231
Antigüedad: 12 años, 9 meses
Puntos: 67
Re: Ayuda: Como mostrar un mensaje o algo mientras se ejecuta un script php?

Lo que necesitas es un cargador, eso se hace con javascript, pero los que regalan los códigos en la web dan un código que no sirven. Yo hice uno usando la propiedad complete del objeto Image. Ese si que sirve :D. Si me esperas unos días te lo daré. Pero de todos modos podrías investigar algo de javascritp y la propiedad complete del objeto Image.
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 10:45.