Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/04/2011, 18:41
zarech
 
Fecha de Ingreso: noviembre-2007
Mensajes: 17
Antigüedad: 17 años, 2 meses
Puntos: 0
Subir varios ficheros con un solo formulario

hola, bueno mi problema es el siguiente: tengo un formulario con la posiblidad de subir hasta 12 archivos, si subo 1 archivo la respuesta que me da el comando
<pre><? print_r($_FILES); ?></pre>
es la siguiente
Array
(
[archivo1] => Array
(
[name] => Foto.jpg
[type] => image/jpeg
[tmp_name] => c:/wamp1/tmp\php442.tmp
[error] => 0
[size] => 4468236
)

[archivo2] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
)

[archivo3] => Array
(
[name] =>
[type] =>
[tmp_name] =>
[error] => 4
[size] => 0
) etc....
pero si elijo 2 ficheros a la vez me devuelve esto

Array
(
)
todo vacio
mi formulario es el siguiente

Código HTML:
Ver original
  1. <form action="insertartestresp.php" method="post" enctype="multipart/form-data">
  2. <input type="file" name="archivo1" size="35"></td>
  3. <input type="file" name="archivo2" size="35"></td>
  4. <input type="file" name="archivo3" size="35"></td>
  5. <input name="enviar" type="submit" value="Enviar" />       <input name="borrar" type="reset" value="Borrar" />
etc...

y este es el codigo que uso para recogerlos
Código PHP:
Ver original
  1. if($_FILES['archivo1']['type'] == 'image/jpeg')
  2. {
  3. $formato1 = 'jpeg';
  4. $destino1=$vnumtest.$vversion."1.".$formato1;
  5. }
  6.  
  7.     if($_FILES['archivo1']['type'] == 'image/gif'){
  8.     $formato1 = 'gif';
  9.     $destino1=$vnumtest.$vversion."1.".$formato1;
  10.  
  11.     }
  12.  
  13. //comprobamos que se ha seleccionado un archivo para subir
  14. if($_FILES['archivo1']['name'] != ''){
  15. //comprobamos que el formato es apto
  16. if($formato1 != 'gif' and $formato1 != 'jpeg')
  17. {
  18.  
  19. echo 'formato no admitido';
  20. }else{
  21. $destinofinal1="archivos/".$destino1;
  22. //subimos el archivo
  23.     if (copy($_FILES['archivo1']['tmp_name'],$destinofinal1)) {
  24. echo            $status = "Archivo subido: <b>".$archivo."</b>";
  25.         } else {
  26.     echo        $status = "Error al subir el archivo";
  27.         }
  28. }
  29. }
  30.  
  31.  
  32. //Para subir el archivo 2
  33. //comprobamos el formato del archiv
  34. if($_FILES['archivo2']['type'] == 'image/jpeg')
  35. {
  36. $formato2 = 'jpeg';
  37. $destino2=$vnumtest.$vversion."2.".$formato2;
  38. }
  39.  
  40.     if($_FILES['archivo2']['type'] == 'image/gif'){
  41.     $formato2 = 'gif';
  42.     $destino2=$vnumtest.$vversion."2.".$formato2;
  43.  
  44.     }
  45.  
  46. //comprobamos que se ha seleccionado un archivo para subir
  47. if($_FILES['archivo2']['name'] != ''){
  48. if($formato2 != 'gif' and $formato2 != 'jpeg')
  49. {
  50.  
  51. echo 'formato no admitido';
  52. }else{
  53. $destinofinal2="archivos/".$destino2;
  54. //subimos el archivo
  55.     if (copy($_FILES['archivo2']['tmp_name'],$destinofinal2)) {
  56.        echo   $status = "Archivo subido: <b>".$archivo2."</b>";
  57.         } else {
  58.     echo        $status = "Error al subir el archivo";
  59.         }
  60. }
  61. }

por separado funciona correctamente pero cuando intento varios a la vez me da problemas

Última edición por zarech; 07/04/2011 a las 18:51