Foros del Web » Programando para Internet » PHP »

Mostrar gif animado mientras se sube fichero al servidor

Estas en el tema de Mostrar gif animado mientras se sube fichero al servidor en el foro de PHP en Foros del Web. Hola, he sacado este ejemplo de la web, sirve para subir fichero al servidor. Lo que quiero hacer es mostrar un gif animado mientras dura ...
  #1 (permalink)  
Antiguo 18/01/2008, 18:30
Avatar de gogupe  
Fecha de Ingreso: octubre-2006
Ubicación: Mallorca
Mensajes: 897
Antigüedad: 17 años, 5 meses
Puntos: 32
Mostrar gif animado mientras se sube fichero al servidor

Hola, he sacado este ejemplo de la web, sirve para subir fichero al servidor.

Lo que quiero hacer es mostrar un gif animado mientras dura el tiempo del upload.

Código:
<form action="subearchivo.php"  method="post" enctype="multipart/form-data">

    <input type="hidden" name="MAX_FILE_SIZE" value="1000000">

    Enviar fotografía 1:
    <br>
    <input name="userfile" type="file">
    <br>
    <input type="submit" value="Enviar">
</form>
suberarchivo.php
Código:
<?
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
    echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "../fotos/1_clientes/".$nombre_archivo)){
       echo "El archivo ha sido cargado correctamente.";
    }else{
       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}

?>
He intentando poniendolo dentro de un bucle while, pero no me ha funcionado.

Como se puede hacer ?

Muchas gracias.
  #2 (permalink)  
Antiguo 18/01/2008, 18:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Mostrar gif animado mientras se sube fichero al servidor

Lamentablemente no hay una solución sencilla mas que parchando el Core de PHP o agregando una extensión nueva.

Una forma que puedes hacerlo también es tener un div oculto con el gif animado, y cuando envíes el formulario, mostrar el div.

Automáticamente cuando el archivo este arriba, la pagina cambiara y se ocultara el div.

Saludos.
  #3 (permalink)  
Antiguo 19/01/2008, 07:22
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Mostrar gif animado mientras se sube fichero al servidor

Gato, como seria esa solucion, ayer me queden pensando en eso.
El div oculto donde lo pondrias ? en la pagina del form o en suberarchivo.php..... no me queda claor como hacer que se vea.

Saludos
Andres
  #4 (permalink)  
Antiguo 19/01/2008, 09:11
Avatar de goku_goku  
Fecha de Ingreso: enero-2008
Mensajes: 78
Antigüedad: 16 años, 3 meses
Puntos: 1
Re: Mostrar gif animado mientras se sube fichero al servidor

bueno, no se mucho de esto, pero con ajax, hay un script para per el porcentage de la carga, con una barra
  #5 (permalink)  
Antiguo 19/01/2008, 09:27
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mostrar gif animado mientras se sube fichero al servidor

Lo más elegante y usable es usar AJAX. Pero una buena opción es la que comenta Gatorv. En la página donde tienes el formulario creas un div oculto con ese gif y cuando se le de al botón de subir fichero lo muestras mediante JS (y puedes ocultar el div del formulario también).

No he trabajado mucho con formularios de upload de ficheros, pero creo que sería así.
  #6 (permalink)  
Antiguo 19/01/2008, 11:25
Avatar de andruqui  
Fecha de Ingreso: agosto-2007
Mensajes: 269
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Mostrar gif animado mientras se sube fichero al servidor

MMmmmmm hay cosa que no me cierran, si hago el submit de la pagina no va a cargar la otra hasta que el upload se termine no? o sea que para mi el div nunca se va a ver.

Sobre el comentario del la barra de ajax.... se pueden subir archivos usando ajax? Pongan un link de ejemplo a eso que dicen

Saludos
Andrés
  #7 (permalink)  
Antiguo 19/01/2008, 12:25
 
Fecha de Ingreso: noviembre-2002
Mensajes: 1.341
Antigüedad: 21 años, 5 meses
Puntos: 17
Re: Mostrar gif animado mientras se sube fichero al servidor

Cuando le das al botón llamas a una función JS que muestre el div que quieras y que haga submit. Así se muestra ese div mientras se está subiendo el fichero.
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 12:48.