Caricamento di più file

E' possibile caricare più file contemporaneamente e avere le informazioni organizzate automaticamente in array. Per questo è necessario utilizzare la medesima sintassi di invio di array da form HTML che è utilizzata con select e checkbox multipli:

Nota: Il supporto per il caricamento di file multipli è presente dalla versione 3.0.10.

Esempio 18-3. Caricamento di più file

<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>

Quando la form è inviata, gli array $userfile, $userfile_name, e $userfile_size sono costruiti con visibilità globale (così come in $HTTP_POST_FILES ($HTTP_POST_VARS in PHP 3)). Ognuno di questi è un array indicizzato numericamente con i valori relativi ai diversi file caricati.

Per esempio, si supponga che i nomi di file /home/test/review.html e /home/test/xwp.out siano inviati. In questo caso, $userfile_name[0] conterrebbe il valore review.html, e $userfile_name[1] conterrebbe il valore xwp.out. Analogamente, $userfile_size[0] conterrebbe la dimensione di review.html, e così via.

Anche $userfile['name'][0], $userfile['tmp_name'][0], $userfile['size'][0], e $userfile['type'][0] sono impostati.