Foros del Web » Programando para Internet » PHP »

no puedo subir archivos

Estas en el tema de no puedo subir archivos en el foro de PHP en Foros del Web. Holas, estoy realizando un proyecto basado en php, ajax y json y smarty. la plantilla de smarty contiene los botones q hacen la ejecucion. al ...
  #1 (permalink)  
Antiguo 28/05/2008, 14:57
 
Fecha de Ingreso: diciembre-2004
Mensajes: 418
Antigüedad: 19 años, 4 meses
Puntos: 2
Exclamación no puedo subir archivos

Holas, estoy realizando un proyecto basado en php, ajax y json y smarty.

la plantilla de smarty contiene los botones q hacen la ejecucion. al cliquear el boton "Guardar" este llama a una funcion javascript, el cula hace el ajax request al archivo php q contiene la consulta, esta la realiza y le da la rpta al javascript a travez de json el cual es recibido por el javascript y pinta el resultado en la plantilla.

Hasta ahi todo funciona bien, pero ahora quise integrarle para subir archivos y agregue el sgte codigo al archivo php:

Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) { 
       
$extension split("[/.]"$HTTP_POST_FILES['archivo']['name']);
       if(
$extension[1] == "msg"){  
      
copy($HTTP_POST_FILES['archivo']['tmp_name'], "../../mis_files/".$id."_".$HTTP_POST_FILES['archivo']['name']); 
      
$subio true
       }
 } 
por si solo el codigo funciona, pero al integrarlo no llega el valor del campo "archivo" al codigo, el formulario tiene el enctype="multipart/form-data"

incluso imprimi $HTTP_POST_FILES['archivo']['name'] para ver si me recibi el valor
y nada, en ese mismo archivo, tb recibo otras variables a trave sdel $_POST y si llegan. pero los archivos no, a q se debe.

ayuda, please!!
  #2 (permalink)  
Antiguo 28/05/2008, 15:04
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: no puedo subir archivos

Recuerda que para transferir archivos debes setiar enctype="multipart/form-data" en el formulario, por lo que veo no estas haciendo Submit, sino que solamente un evento onclick.

Aqui hay un ejemplo de subir archivo asincronicamente, de todas formas busca algo ya hecho en google:

http://www.anyexample.com/programmin...ile_upload.xml
__________________
eft0's stuff! - http://estebanfernandez.net
  #3 (permalink)  
Antiguo 28/05/2008, 15:12
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: no puedo subir archivos

Hola Hats,

No puedes enviar archivos vía AJAX, es una limitante, y no hay forma de hacerlo, lo más remoto que se le parece es enviar archivos a un iframe oculto.

Saludos.
  #4 (permalink)  
Antiguo 28/05/2008, 15:13
 
Fecha de Ingreso: diciembre-2004
Mensajes: 418
Antigüedad: 19 años, 4 meses
Puntos: 2
Respuesta: no puedo subir archivos

enctype="multipart/form-data" si esta en el formulario y si estoy enviando con submit, de lo contrario las variables recibiste con $_POST no hubieran llegado.

el ajax solo lo uso cuando quiero llamar funciones, no esta interviniendo en esta operacion, el javascript simple solo hace las validaciones sobre los campos, pero nada mas, cuando presiono el boton va directamente al archivo php (actions).

U_U en verdad me parece extraño q los artichivos no puedan llegar,, ayuda! O_O
  #5 (permalink)  
Antiguo 28/05/2008, 15:18
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Respuesta: no puedo subir archivos

Desarrolla lo que dice GatorV, yo tambien siempre lo habia hecho asi (efecto iframe), nunca por Ajax.
__________________
eft0's stuff! - http://estebanfernandez.net
  #6 (permalink)  
Antiguo 28/05/2008, 15:23
Avatar de jaronu  
Fecha de Ingreso: febrero-2008
Mensajes: 2.183
Antigüedad: 16 años, 2 meses
Puntos: 52
Respuesta: no puedo subir archivos

Hola hats,
mirate este post a ver si te puede servir de algo, es un tuto para subir archivos y guardar la ruta en una BD para su posterior descarga

Un saludo
  #7 (permalink)  
Antiguo 28/05/2008, 15:24
Avatar de deet  
Fecha de Ingreso: mayo-2005
Ubicación: Córdoba - Argentina
Mensajes: 269
Antigüedad: 18 años, 11 meses
Puntos: 1
Respuesta: no puedo subir archivos

A partir de PHP 4.1.0, utilice $_FILES

En versiones anteriores, utilice $HTTP_FILES_VARS

Código PHP:
if (is_uploaded_file($_FILES['archivo']['tmp_name'])) {  
       
$extension split("[/.]"$_FILES['archivo']['name']); 
       if(
$extension[1] == "msg"){   
      
copy($_FILES['archivo']['tmp_name'], "../../mis_files/".$id."_".$_FILES['archivo']['name']);  
      
$subio true;  
       } 
 } 
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 07:33.