Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/12/2006, 17:34
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Re: Mostrar Mensaje mientras subo Archivo

El código que presentas del mensaje con el control del buffer de PHP (con el ob_start() y demás) .. lo debes usar en el script de proceso PHP, en el que envias tu formulario HTML y campo "file" ..

Pero, realmente así no vas a conseguir el efecto deseado. PHP no "suelta" el proceso hasta que termina .. es decir, hasta que no subió todo el archivo no se continua el proceso de PHP .. PHP no controla datos en modo "raw" como hacen otros lenguajes (Perl por ejemplo .. por lo menos que yo sepa, .. habría que ver si PHP 5 por ejemplo ya hace algo al respecto). Por ende .. "pierdes" el control por el tiempo que tarda en subir tu archivo al servidor.

Una solución simple es abrir un "popup" (en javacript .. una ventana) al hacer tu "submit" de tu formulario HTML, .. igual notras esa "página en blanco" y hasta el "foco" podrías perder en el tiempo que dure el "upload" .. todo eso tendrás que manejarlo con javascript.

Al terminar el "uploda" podrías usar como "fin" de ese proceso PHP el generar HTML que llame a tu rutina javascript de "window.paranet.close()" o algo similar (mi fuerte no es javascript) para cerrar tu ventana al terminar el proceso. Con este proceder también hay que tener cuidado, .. si dejas el proceso en el script que lo hace .. si "recargas" esa página se repetirá el proceso nuevamente, siempre hay que intentar "salir" del proceso redireccionando a otra página para evitar este tipo de problemas.

Tal vez con técnicas de "Ajax" quede mejor este proceso.

Ejemplos:
http://bluga.net/projects/uploadProgressMeter/
http://pdoru.from.ro/
(Fijate que habla de "parchear" PHP .. justamente para aportar la lectura de datos "RAW" a PHP que por defecno no soporta).

Otros ejemplos:
http://www.devpro.it/upload_progress/
http://www.captain.at/ajax-file-upload.php
http://www.dinke.net/blog/2006/11/04...ress-meter/en/
http://www.sibsoft.net/xupload.html

En realidad hay muchas opciones, ..algunas pasan por Perl, otras integran Ajax .. otras tantas "parchean" a PHP (con alguna extensión o recompilar PHP) .. Las más precisas por supuesto son las que "parchean" PHP .. pues realmente "miden" el progreso .. las otras opciones (sólo "ajax" por ejemplo) no.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.