EnvÃo de multiples ficheros
Se pueden enviar multiples ficheros usando diferentes nombres (name) para los input.
Asà mismo, es posible enviar varios archivos simultaneamente y tener organizada en arrays la información. Para hacer esto, se utiliza la misma sintáxis que cuando tenemos multiples "selects" o "checkboxes" en el formulario HTML:
Note: El soporte para envÃo multiple de ficheros fue añadido en la versión 3.0.10.
Example#1 EnvÃo de multiples ficheros
<form action="file-upload.php" method="post" enctype="multipart/form-data"> Send these files:<br> <input name="userfile[]" type="file"><br> <input name="userfile[]" type="file"><br> <input type="submit" value="Send files"> </form>
Cuando el formulario del ejemplo es enviado, los arrays $HTTP_POST_FILES['userfile'], $HTTP_POST_FILES['userfile']['name'] y $HTTP_POST_FILES['userfile']['size'] son inicializados. Asà mismo pasa con $_FILES en PHP 4.1.0 o superiores y $HTTP_POST_VARS en PHP 3. Cuando register_globals esta activa, las variables globales para los archivos recibidos también son inicializadas. Cada uno de estos arrays tendrá en los Ãndices numericos correspondientes los valores para cada fichero recibido.
Por ejemplo, si tomamos como nombres de archivo enviados /home/test/review.html y /home/test/xwp.out. TendrÃamos en $HTTP_POST_FILES['userfile']['name'][0] el valor de review.html, y en $HTTP_POST_FILES['userfile']['name'][1] tendrÃamos xwp.out; analogamente, $HTTP_POST_FILES['userfile']['size'][0] contendrÃa el tamaño del fichero review.html, y asi sucesivamente...
$HTTP_POST_FILES['userfile']['name'][0], $HTTP_POST_FILES['userfile']['tmp_name'][0], $HTTP_POST_FILES['userfile']['size'][0] y $HTTP_POST_FILES['userfile']['type'][0] tambien son asignadas.