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:
Nota:
El soporte para envío multiple de ficheros fue añadido en
la versión 3_0_10_
Ejemplo 18_3_ 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_