Ver Mensaje Individual
  #9 (permalink)  
Antiguo 28/06/2012, 11:15
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 7 meses
Puntos: 406
Respuesta: asignar identificador a multiples campos tipo file

Para tu caso, la mejor forma es que los envies de forma separa y no como array, ya que el orden en que llegan no será igual al orden que tienes en tu form, la forma mas sencilla es que en el "name" del input agregues el identificador, y en un campo "hidden" envias el numero de inputs generados...

Código HTML:
Ver original
  1. <input type="file" name="archivo_1" />
  2. <input type="file" name="archivo_2" />
  3. <input type="file" name="archivo_3" />
  4. <input type="file" name="archivo_X" />
  5.  
  6. <input type="hidden" name="numfiles" value="X" />

En el PHP solo recorres los items según el numero de inputs...
Código PHP:
Ver original
  1. $numFiles = $_POST['numfiles'];
  2. for($i=1; $i<$numFiles; $i++) {
  3.      if (isset($_FILES['archivo_'.$i])) {
  4.           echo 'Archivo enviado desde la linea: '.$i;
  5.      }
  6. }

Es la manera mas facil de tener "control" para saber que archivo pertenece a que input, de la otra forma puedes tener 5 inputs tipo file, cuando se envíen los ID dentro del array siempre será 0 y 1, aun cuando solo se indico archivos en el primer y ultimo input...
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)