Archivos PHP

Por favor si me podrían ayudar en que tengo que subir al servidor un grupo de arcvhivos a la vez y no se como hacerlo, es decir, tengo en un apantlla un grupo de textbox que me van a dar la dirección de los archivos a subir pero como son varios no se como manejarlos que no sea con un nombre cada texbox.
Gracias de antemano

2 Respuestas

Respuesta
1
Poniendo el mismo nombre a cada input creas un array con el valor de todos los archivos:
<form enctype="multipart/form-data" action="upload.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Archivo 1: <input name="filename[]" type="file" /><br>
Archivo 2: <input name="filename[]" type="file" /><br>
Archivo 3: <input name="filename[]" type="file" /><br>
<input type="submit" value="Enviar" />
</form>
Puedes usar este código para navegar por el array y obtener sus propiedades:
<?php
foreach ($_FILES as $key1 => $value1) {
echo "\$_FILES[$key1] = $value1<br>\n";
foreach ($value1 as $key2 => $value2) {
echo "\$_FILES[$key1][$key2] = $value2<br>\n";
foreach($value2 as $key3 => $value3) {
echo "\$_FILES[$key1][$key2][$key3] = $value3<br>\n";
}
}
}
?>
Respuesta
1
No se si te entendí bien, ¿pero el problema que tienes es que la cantidad de archivos a subir es variable? Si es así entonces a todos los campos de texto colocales el mismo nombre pero referenciandolo a que sea un vector. EJ:
<input name="adjunto[]" type="file">
<input name="adjunto[]" type="file">
<input name="adjunto[]" type="file">
En este ejemplo tienes 3 archivos para subir pero en la misma variable. La diferencia es que esta variable ahora es un vector.
Con la siguiente instrucción tu sacas el nombre original del archivo si fuera uno solo ¿cierto?
$HTTP_POST_FILES['adjunto']['name']
ahora para sacarselo a cada uno de los 3 de nuestro ejemplo debes colocar:
$HTTP_POST_FILES['adjunto[0]']['name']
$HTTP_POST_FILES['adjunto[1]']['name']
$HTTP_POST_FILES['adjunto[2]']['name']
osi no resulta debes hacerlo asi:
$HTTP_POST_FILES['adjunto'][0]['name']
$HTTP_POST_FILES['adjunto'][1]['name']
$HTTP_POST_FILES['adjunto'][2]['name']
Bueno esa es una opción, puedes encontrar algunas más por supuesto. Solo espero haber entendido bien tu pregunta y esperar a que mi respuesta te haya servido.
Saludos atentamente Rukawa.
PD1: puedes visitar esta web para mayor información http://cl.php.net/manual/es/features.file-upload.php
PD2: No olvides tu calificación. =)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas