elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  ayuda subir varios archivos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ayuda subir varios archivos  (Leído 4,973 veces)
kakashi20


Desconectado Desconectado

Mensajes: 435


Ver Perfil
ayuda subir varios archivos
« en: 14 Febrero 2011, 23:00 pm »

hola tengo este código con el cual subo varios archivos, pero en la parte del upload no me funciona, no me muestra los nombre de los archivos que subio...

Aquí dejo el código

index.php

<form action="upload.php" method="post">

Archivo 1: <input type="file" name="archivo[]"><br />
Archivo 2: <input type="file" name="archivo[]"><br />
Archivo 3: <input type="file" name="archivo[]"><br />
Archivo 4: <input type="file" name="archivo[]"><br />

<input name="enviar" type="submit" id="enviar" value="Subir Archivo" /><br />


</form>

upload.php

<?php
$archivo = $_POST['archivo'];
$count = count($archivo);


for ($i=0;$i<$count;$i++){

$nombre = $_FILES["archivo"]['name'];
echo $nombre;

}

?>


Si alguien me pudiese ayudar se lo agradecería


En línea

JungleBoogie

Desconectado Desconectado

Mensajes: 174


Metal Freak


Ver Perfil WWW
Re: ayuda subir varios archivos
« Respuesta #1 en: 14 Febrero 2011, 23:31 pm »

index.php:
Código:
<form action="upload.php" method="post" enctype="multipart/form-data">
Archivo 1: <input type="file" name="archivo0"><br />
Archivo 2: <input type="file" name="archivo1"><br />
Archivo 3: <input type="file" name="archivo2"><br />
Archivo 4: <input type="file" name="archivo3"><br />

<input name="enviar" type="submit" id="enviar" value="Subir Archivo" /><br />
</form>

upload.php
Código:
<?php 
for ($i=0;$i<4;$i++){

$nombre = $_FILES['archivo'. $i]['name'];
echo $nombre;

}

?>


« Última modificación: 14 Febrero 2011, 23:34 pm por JungleBoogie » En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: ayuda subir varios archivos
« Respuesta #2 en: 15 Febrero 2011, 00:46 am »

upload.php

Código
  1. <?php
  2. for ($i=0;$i<count($_FILES['name']);$i++){
  3. $nombre = $_FILES["archivo"]['name'][$i];
  4. echo $nombre;
  5. }
  6. ?>
« Última modificación: 15 Febrero 2011, 00:48 am por Castg! » En línea

WHK
Moderador Global
***
Desconectado Desconectado

Mensajes: 6.605


Sin conocimiento no hay espíritu


Ver Perfil WWW
Re: ayuda subir varios archivos
« Respuesta #3 en: 19 Febrero 2011, 02:19 am »

si no sabe lo que te está devolviendo prueba con print_r($_FILES);

si bien recuerdo cuando son multiples archivo retorna un array multidimensional con un indice numérico

$_FILES[id][...datos...]

pero ojo que cuando se sube un solo archivo retorna un array sin indice

$_FILES[...datos...]

asi que lo que hago es que si se ha subido un solo archivo entonces que le de un indice cero y despues que lo procese.

Dale un vistazo a una clase que hize hace tiempo:
Código
  1. function guardar_subidos($directorio_almacenamiento, $extensiones_permitidas = false, $crear_directorio = false, $un_solo_archivo = false){
  2.  /* Verifica si hay archivos subidos para ser recibidos */
  3.  if(is_array($_FILES)){
  4.   if(count($_FILES) < 1){
  5.    return false;
  6.   }
  7.  }else{
  8.   return false;
  9.  }
  10.  
  11.  if($un_solo_archivo){
  12.   if(count($_FILES) > 1){
  13.    return array(
  14.     'estado' => 'error',
  15.     'descripcion_error' => 'Solo es permitido subir un solo archivo y se ha detectado mas de uno'
  16.    );
  17.   }
  18.  }
  19.  
  20.  /* Verifica si el directorio de guardado es válido o no */
  21.  if(!is_dir($directorio_almacenamiento)){
  22.   if($crear_directorio){
  23.    if(!mkdir($directorio_almacenamiento, 0755)){
  24.     return array(
  25.      'estado' => 'error',
  26.      'descripcion_error' => 'El directorio a guardar los archivos subidos no existe y fue imposible crear'
  27.     );
  28.    }
  29.   }else{
  30.    return array(
  31.     'estado' => 'error',
  32.     'descripcion_error' => 'El directorio a guardar los archivos subidos no existe'
  33.    );
  34.   }
  35.  }
  36.  
  37.  /* Limpia la ruta del directorio evitando doble slashses y null bytes */
  38.  $directorio_almacenamiento = dirname($directorio_almacenamiento.'/archivo.ext').'/';
  39.  
  40.  /* Si no existe el directorio entonces lo creará */
  41.  if(!is_dir($directorio_almacenamiento)){
  42.   if(!mkdir($directorio_almacenamiento, 0755))
  43.    return array(
  44.     'estado' => 'error',
  45.     'descripcion_error' => 'No se pudo crear el nuevo directorio. Verifique los permisos de escritura sobre el directorio raiz'
  46.    );
  47.  }
  48.  
  49.  /* Procesa cada archivo subido para pasar de un array con uno a dos dimensiones a una sola dimensión */
  50.  foreach($_FILES as $nombre_array => $archivo){
  51.   /* Verifica si se ha subido un solo archivo o varios */
  52.   if(is_array($_FILES[$nombre_array]['name'])){ /* Múltiples archivos */
  53.    /* Procesa cada archivo subido */
  54.    foreach($_FILES[$nombre_array]['name'] as $id => $nombre){
  55.     /* Verifica que no sea un input vacio */
  56.     if($_FILES[$nombre_array]['name'][$id]){
  57.      $subidos[] = array(
  58.       'name' => $_FILES[$nombre_array]['name'][$id],
  59.       'type' => $_FILES[$nombre_array]['type'][$id],
  60.       'tmp_name' => $_FILES[$nombre_array]['tmp_name'][$id],
  61.       'error' => $_FILES[$nombre_array]['error'][$id],
  62.       'size' => $_FILES[$nombre_array]['size'][$id]
  63.      );
  64.     }
  65.    }
  66.   }else{ /* Un solo archivo */
  67.    $subidos[] = $archivo;
  68.   }
  69.  }
  70.  
  71.  /* Verifica si se ha subido algún archivo */
  72.  if(is_array($subidos)){
  73.   /* Procesa cada archivo subido previamente filtrado en un solo array de una dimensión */
  74.   foreach($subidos as $subido){
  75.    if(is_array($extensiones_permitidas)){
  76.     if(archivos::coincide_extension($subido['name'], $extensiones_permitidas)){
  77.      if(move_uploaded_file($subido['tmp_name'], $directorio_almacenamiento.$subido['name'])){
  78.       $resultados[] = array(
  79.        'estado' => 'ok',
  80.        'name' => $subido['name'],
  81.        'type' => $subido['type'],
  82.        'error' => $subido['error'],
  83.        'size' => $subido['size']
  84.       );
  85.      }else{
  86.       $resultados[] = array(
  87.        'estado' => 'error',
  88.        'descripcion_error' => 'El archivo "'.$subido['name'].'" no pudo ser movido. Verifique los permisos de escritura sobre el directorio raiz',
  89.        'name' => $subido['name'],
  90.        'type' => $subido['type'],
  91.        'error' => $subido['error'],
  92.        'size' => $subido['size']
  93.       );
  94.      }
  95.     }else{
  96.      $resultados[] = array(
  97.       'estado' => 'error',
  98.       'descripcion_error' => 'El archivo "'.$subido['name'].'" contiene una extensión no válida',
  99.       'name' => $subido['name'],
  100.       'type' => $subido['type'],
  101.       'error' => $subido['error'],
  102.       'size' => $subido['size']
  103.      );
  104.     }
  105.    }else{
  106.     if(move_uploaded_file($subido['tmp_name'], $directorio_almacenamiento.$subido['name'])){
  107.      $resultados[] = array(
  108.       'estado' => 'ok',
  109.       'name' => $subido['name'],
  110.       'type' => $subido['type'],
  111.       'error' => $subido['error'],
  112.       'size' => $subido['size']
  113.      );
  114.     }else{
  115.      $resultados[] = array(
  116.       'estado' => 'error',
  117.       'descripcion_error' => 'El archivo "'.$subido['name'].'" no pudo ser movido',
  118.       'name' => $subido['name'],
  119.       'type' => $subido['type'],
  120.       'error' => $subido['error'],
  121.       'size' => $subido['size']
  122.      );
  123.     }
  124.    }
  125.   }
  126.  }else{
  127.   return array(
  128.    'estado' => 'error',
  129.    'descripcion_error' => 'No hay archivos para ser subidos'
  130.   );
  131.  }
  132.  
  133.  /* Retorna el resultado */
  134.  return array(
  135.   'estado' => 'ok',
  136.   'datos' => $resultados
  137.  );
  138. }
« Última modificación: 19 Febrero 2011, 02:21 am por WHK » En línea

Castg!
Wiki

Desconectado Desconectado

Mensajes: 1.191



Ver Perfil WWW
Re: ayuda subir varios archivos
« Respuesta #4 en: 20 Febrero 2011, 07:54 am »

Exactamente lo que hice fue probar su método con un print_r y a partir de ello realicé ese código que me funcionó. Creo que debe haber sido de utilidad porque no volvió a comentar...
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda para subir archivos
Sugerencias y dudas sobre el Foro
tazmania75 3 2,905 Último mensaje 18 Junio 2007, 02:27 am
por ...NexuS...
[AYUDA]SubiR ArchivoS PoR FTP
.NET (C#, VB.NET, ASP)
agustin_v8 3 4,316 Último mensaje 31 Agosto 2009, 01:31 am
por raul338
Ayuda: Subir archivos a un ftp desde c#
.NET (C#, VB.NET, ASP)
eventsarg 3 4,964 Último mensaje 10 Septiembre 2012, 09:13 am
por ramonfe
Ayuda! ¿Cómo mostrar los datos de varios archivos en java?
Dudas Generales
cris4537 0 2,977 Último mensaje 12 Septiembre 2016, 02:20 am
por cris4537
Subir varios archivos FTP
PHP
SrTrp 2 2,723 Último mensaje 28 Febrero 2020, 03:30 am
por @XSStringManolo
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines