Foros del Web » Programando para Internet » PHP »

Upload con confirmacion

Estas en el tema de Upload con confirmacion en el foro de PHP en Foros del Web. Hola tengo unas dudas. Resulta que quiero hacer un upload de u archivo, pero que al presionar examinar y un boton que tengo que es ...
  #1 (permalink)  
Antiguo 13/04/2004, 10:26
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Upload con confirmacion

Hola tengo unas dudas.
Resulta que quiero hacer un upload de u archivo, pero que al presionar examinar y un boton que tengo que es "agregar archivo" muestre el nombre del archivo y otras cosas. Lo que quise haces es que luego de mostrar el nombre presione otro boton y en ese momento guardar el archivo (todo esto en el mimo formulario) como pense que quedaban en el temporal el archivo trate de moverlo pero para mi sorpresa no estaba ya (use mucho mi imaginacion) alguen sabe como puedo hacer esto?
Gracias
  #2 (permalink)  
Antiguo 13/04/2004, 10:35
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
En lo mismo

Ando en las mismas hace rato. Si alguien sabe como se hace favor de ayudar. Mi correo es: [email protected]
Salu2
__________________
Ing. Reynier Pérez Mira
  #3 (permalink)  
Antiguo 13/04/2004, 12:14
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
NO? nadie sabe qued onda??
  #4 (permalink)  
Antiguo 13/04/2004, 13:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Scrubb .. ten paciencia ..

Por lo demás .. ya se leyeron la documentación oficial de PHP sobre el Upload?

(o los ejemplos de las FAQ's?)

En HTML se usa el campo tipo "file" para poder adjuntar un archivo al formulario que se evie junto con otros datos. Vía javascript "creo" que algo se puede obtener de ese campo (pero en tal caso se resolvería en javacript .. pues PHP "se enterará" del nombre del archivo y otros datos del archivo en si: peso, formato MIME ... al recibirlo completamente)

O que es lo que quieren hacer realmente?

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 13/04/2004, 14:08
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
NO, si eso lo tengo claro, eso creo.
Lo que pregunto si es que se puede es lo siguiente
Selecciono el archivo en el formulario y apreto el boton submit.
Luego me muestra el nombre del archivo y otros datos que yo escribi en el mismo formulario y luego que presione otro boton algo asi como Confirmar.
he tratado de todo, guarde os datos de la carpeta temporal $HTTP_POST_FILES['archivo']['tmp_name']; el nombre $HTTP_POST_FILES['archivo']['name'] los cuales los pase como hidden para despues ver si los podia recuperar, pero parece que mi invento no es valido

Para dejar más en claro quiero llenar datos de a paso. por ejemplo en el paso 1 escribo el nombre y adjunto el archivo, paso 2 otros datos paso 3 otros y asi y en el ultimo paso aal apretar confirmar poder guardar el archivo que subi en el primer paso y giuardar los demas datos en la BD.

Gracias nuevamente
  #6 (permalink)  
Antiguo 13/04/2004, 15:21
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si lo haces así .. el archivo tendrá que subir por completo al servidor y moverlo en ese instante hacia algún directorio de tu sito aunque sea de forma temporal y que luego borres si cancela la operación.

Las variables en general en PHP sólo tienen validez para el tiempo de ejecución del script .. así que si llamas a otro script/pagina por el camino dichas variables las perderas si no las propagas de alguna forma .. y para el caso de un archivo que sube por "upload HTTP" mejor moverlo a un directorio tuyo.

En resumen .. sube el archivo en el momento que gustes .. pero muevelo inmediatamente al subir hacia un directorio de tu sitio "temporal" .. y de ahí en tu último paso de confirmación .. si cancela le haces un unlink() al archivo en cuestión (para ello tendras que propagar al menos el nombre del archivo en una variable por una cookie, session, o por el URL .. recomendable sesión).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 13/04/2004, 15:35
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Ok gracias, supuse que no se podia y que yo estaba inventando cosas

Pero igual me quedo una duda Cluster, cuando subes un archivo qqueda en una carpeta temporal del servidor?
Lo que trate fue sacarlo de esa carpeta, supuse que se podia
  #8 (permalink)  
Antiguo 13/04/2004, 15:36
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
osea se puede, lo que trate fue moverlo despues, varios script adelante
  #9 (permalink)  
Antiguo 13/04/2004, 16:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. si intentastes moverlo despues de llevartelo desde el directorio temporal que PHP guarda los archivos al subir hasta un directorio de tu sitio .. ¿que nombre de archivo y ruta indicastes en el último proceso para moverlo a su destino definitivo y que función usastes? ..

Te recuerdo una vez más que PHP -pierde- las variables al cargar un nuevo script . .ejemplo en $HTTP_POST_FILES o en $_FILES ya no estarán los datos de tu archivo si has pasado a otro script . para eso debes propagar el Nombre al menos en tus variables comunes por el URL o en sesiones, cookies o como gustes pero no directamente sobre esos arrays ...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 13/04/2004, 16:09
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Si guarde desde la primera vez el nombre de la carpeta y el archivo si cuando lo movi use los nombres que fui pasando por el script, pero no funciono, quizas en la carpeta temporal no duran mucho tiempo y se eliminan altiro
  #11 (permalink)  
Antiguo 13/04/2004, 16:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Bueno .. yo te recomendaría mover inmediatamente como ya te he comentado el archivo hacia tu sitio .. a una carpeta "temporal" tuya y como ya te comenté .. si al finalizar el proceso se cancela .. pues borras el archivo de tu directorio "temporal" ...

Y en todo ese proceso (el de tus pruebas) algún error tendrías supongo ... por el error se puede ver si definitivamente se podría hacer o bien es error tuyo ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #12 (permalink)  
Antiguo 14/04/2004, 08:38
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Si, si lo habia pensado con una carpeta temporal pero y si se corta la luz?, o si cierra la ventana, el archivo quedaria en ese momento en la carpeta.
De todas formas lo hare con la carpeta temporal ya que es más simple.

Gracias
  #13 (permalink)  
Antiguo 14/04/2004, 08:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si se corta la luz o hay un terremoto .. para eso debes tener rutinas que borren esos archivos "temporales" cada cierto tiempo .. Ese tipo de escripts se ejecutan bajo un Cron Job por ejemplo y borraras lo que determines que entre la fecha de creación del archivo y lo que estimes (horas, minutos despues .. etc)

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 14/04/2004, 08:55
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Hey Cluster te sigo molestando
Tengo otra duida con respecto a esta sentencia

if (move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'],"archivos/".$HTTP_POST_FILES['archivo']['name']))
{ }

EWntiendo que dice que mueva de ese directrio (el temporal) al directorio archivo y el nombre que quiera ponerle, en este caso el mismo, pero como sabe el servidor que archivo tiene que mover?? yo solo le doy el nombre de la carpeta pero no le digo el nombre del archivo, y se que esta correcta esta sentencia ya que siempre me a funcionado

Gracias
Sabes como funciona esto?
  #15 (permalink)  
Antiguo 14/04/2004, 08:59
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues si haces:

echo $HTTP_POST_FILES['archivo']['t
mp_name']

veras que PHP al subir un archivo le dá un nombre tipo: phpas87.nomeacuerdo

y así lo identifica .. el nombre q le dá es único.

pero la función move_uploaded_file() sirve para ese proceso de mover el archivo desde el temporal que crea PHP hacia su destino definitivo ..

Una vez en tu "temporal" (el tuyo de tu sitio) si deseas moverlo a otro sítio usa copy() para copiarlo y unlink() para borrarlo de ese directorio "temporal" tuyo.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #16 (permalink)  
Antiguo 14/04/2004, 09:14
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Bueno siempre ocupo move_uploaded_file para cambiar del temporal a la carpeta qeu quiero, use el copy para tratar de moverlo varios script mas adelante, como te contaba anteriormente pero parece que no dura mucho tiempo el archivo en la carpeta temporal ya que me aparece este error

Warning: Unable to open '/tmp/phpbPP4lg' for reading: No such file or directory in /home/cat_doc/Nuevo_Documento_P1.php on line 107

la linea 107 es if (copy($HTTP_POST_VARS['carpeta'],"archivo/"))
pero parece que no hay vuelta que darle a este asunto... jajaja que fustracion
  #17 (permalink)  
Antiguo 14/04/2004, 09:54
 
Fecha de Ingreso: diciembre-2003
Ubicación: Quillota
Mensajes: 196
Antigüedad: 14 años
Puntos: 0
Bueno la solucion que invente es esta
(Por si a alguien le sirve)
Veo que usuario esta ocupando el sistema y creo una carpeta con su nombre? sera como la carpeta temporal
if (!is_dir("usuario"))
{
mkdir ("usuario", 0770);
}
A ella subo el archivo y luego cuando termino el regustro lo copio a la carpeta donde quedara definitivamente, luego borro todos los archivos que se encuentren en esa carpeta si es que se le quedo alguno en ella.
Bueno eso nomas
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 00:57.