Foros del Web » Programando para Internet » Javascript »

subir archivos php+ajax

Estas en el tema de subir archivos php+ajax en el foro de Javascript en Foros del Web. Hola!! Estoy intentado subir archivos con xajax por medio de un iframe. He encontrado algunas formas de hacerlo por ahí y parece que funciona la ...
  #1 (permalink)  
Antiguo 30/03/2012, 01:33
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
subir archivos php+ajax

Hola!!
Estoy intentado subir archivos con xajax por medio de un iframe. He encontrado algunas formas de hacerlo por ahí y parece que funciona la que uso, pero la ejecuta nada más llamar a la función que carga el formulario.
Me explico, yo hago las llamadas por medio de xajax, por tanto las funciones son en php. He colocado un iframe invisible y después el input file y el botón. El formulario queda algo como así.
Código PHP:
<form action='' method='post' name='formPersonales' id='formPersonales' enctype='muiltipart/form-data' target='miIFrame'>

//todos los inputs del form

<iframe name='miIFrame' id='miIFrame' style='display: none;'  src='sube_archivo.php'></iframe> <input type='file' id='uploadFile' name='uploadFile'>&nbsp;&nbsp;<input type='submit' value=' Subir fichero'>

//más inputs

<img src='images/ok.png' title='Guardar' onclick=' xajax_insertaUsuario(xajax.getFormValues(formPersonales));' class='botonimg'/>

</
form
Los datos del usuario los guardo mediante una llamada con xajax, pero la foto creo que la debería subir aparte, así que le he colocado un submit.

Pero como os decía, cuando cargo el formPersonales directamente me llama a sube_archivo.php y cuando pulso el botón submit no hace nada.
En qué estoy fallando?
Mil gracias!!
  #2 (permalink)  
Antiguo 30/03/2012, 03:40
Avatar de aniMAYtions  
Fecha de Ingreso: diciembre-2007
Ubicación: Granada
Mensajes: 519
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: subir archivos php+ajax

He avanzado un poco.
El código ha cambiado a:
Código PHP:
Ver original
  1. <form action='sube_archivo.php' method='post' name='formPersonales' id='formPersonales' enctype='multipart/form-data' target='iframeUpload'>
  2. .
  3. .
  4. .
  5. <input type='file' <input name='fileUpload' type='file' onchange='javascript: submit();'/>
  6.                 <iframe name='iframeUpload' style='display:none;'></iframe>
  7. .
  8. .
  9. .

Bien, ya no me lo llama al principio, sino cuando cambio el valor del input file.
Luego en sube_archivo.php tengo el siguiente código

Código PHP:
Ver original
  1. insertaFoto();
  2.    
  3.    
  4.     function insertaFoto()
  5.     {
  6.  
  7.                $tipo = substr($_FILES['fileUpload']['type'], 0, 5);
  8.        
  9.         $dir = 'fotousuarios/';
  10.  
  11.         if (isset($_FILES['fileUpload']['tmp_name']))
  12.         {
  13.            
  14.             if ($tipo == 'image')
  15.             {
  16.                
  17.                 if (!copy($_FILES['fileUpload']['tmp_name'], $dir.$_FILES['fileUpload']['name']))
  18.                     echo '<script> alert("Error al Subir el Archivo");</script>';
  19.                 else
  20.                     echo"<script> alert('Se ha subido el archivo');</script>";
  21.             }
  22.             else echo '<script> alert("El tipo no es imagen");</script>';
  23.         }
  24.         else echo '<script> alert("No se ha inicializado tmp_name");</script>';
  25.     }

Me dice que el archivo se ha subido, pero no es cierto. En la carpeta fotousuarios no hay ningún archivo.
Gracias de nuevo!!

Etiquetas: class, php
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 14:31.