Ver Mensaje Individual
  #5 (permalink)  
Antiguo 11/03/2005, 13:44
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
1-Cuando subo un archivo a mi servidor, quiero tener la opcion de cancelar el upload.
2-Ahora bien, si cierro la pagina, lo que alcanzó a subirse, se guarda de todas maneras en el servidor, por lo que tenemos montado un archivo incompleto.
Ok, no lo había constatado .. pero si dices que es así .. así será.

Cita:
3.-Se me ocurrio que cuando termine de cargarse, pregunte si esta de acuerdo en el upload o quiere cancelar, si elige "si", se ejecuta una funcion pasandole $HTTP_POST_FILES['aaaaaa']['tmp_name'],$nombre_archivo, para que pueda ejecutar el "move_uploaded_file($archivo,$archivodestino)" , y si elije "no", simplemente no se ejecuta el "move_upload_file", y no se guarda en el servidor.
El Upload del archivo para ese punto ya ha subido por completo al servidor .. de hecho sólo quedará accesible completamente tus $_FILES cuando este ha subido todo. Así que el archivo en sí .. ya lo tienes en el servidor .. si tu quieres "dejarlo" donde PHP lo sube temporalmente (upload_tmp_dir ..) y no moverlo hacia su destino definitivo .. OK ..pero no tiene mucho sentido .. si subió bien vía is_uploaded_file() si mal no recuerdo puedes comprobarlo (hacer que tu script lo compruebe) y tomar las determinacioes que correspondan (aplicar el move_..... o no ).

Cita:
4.-Si cierran la pagina mientras se esta cargando, o si presionan cancelar mientras se carga, logicamente nunca llegaran al script para "subir archivos", y por lo tanto tampoco se guardara en el servidor.
En ese punto .. PHP no tiene control (por lo menos PHP 4 .. PHP 5 parece que si) de lo que va subiendo por HTTP .. no se entrega el control a tu script hasta que el proceso termina. En otros lenguajes como "Perl" por ejemplo si que se tiene total control del dato en "HTTP_RAW_POST" o similar como para tener ese control total y hacer cosas como barras de progreso (fieles) para el "Upload" o como es tu caso . .hasta borrar ese archivo "temporal" incompleto que tuvieras por ahí por médio sin subir completo.

Un saludo,