Több fájl egyidejű feltöltése

Lehetséges több fájl egyidejű feltöltése is, az input elemek name paramétereinek különböző megadásával.

Úgyszintén lehetőség van több megegyező nevű űrlap elemmel is több állomány feltöltésére. Ebben az esetben a kapcsolódó információkat tömbökben kapod meg. Ahhoz, hogy ezt elérd, a hagyományos tömb hivatkozást kell alkalmaznod, mint minden más űrlapelemnél:

Megjegyzés: Több fájl egyidejű feltöltése a PHP 3.0.10 óta lehetséges.

Példa 20-3. Több fájl egyidejű feltöltése

<form action="file-feltolt.php" method="post" enctype="multipart/form-data">
  Az alábbi fájlok elküldése:<br>
  <input name="userfile[]" type="file"><br>
  <input name="userfile[]" type="file"><br>
  <input type="submit" value="OK">
</form>

Amikor a fenti űrlap adatai elküldésre kerülnek, a $HTTP_POST_FILES['userfile'] $HTTP_POST_FILES['userfile']['name'] és $HTTP_POST_FILES['userfile']['size'] változók értéket kapnak. A $_FILES tömbben ugyanezek elérhetőek a PHP 4.1.0 és újabb verziókban. Ezek mind számokkal indexelt tömbök a tömbben beküldötteknek megfelelő értékekkel. A PHP 3-asban a $HTTP_POST_VARS használható. Ha a register_globals be van kapcsolva, globális változókat is kapsz.

Páldául ha a /home/test/review.html és /home/test/xwp.out fájlok kerültek beküldésre, a $HTTP_POST_FILES['userfile']['name'][0] tartalma review.html és a $HTTP_POST_FILES['userfile']['name'][1] tartalma xwp.out. Hasonló módon a $HTTP_POST_FILES['userfile']['size'][0] a review.html fájl méretét tartalmazza, stb.

$HTTP_POST_FILES['userfile']['name'][0], $HTTP_POST_FILES['userfile']['tmp_name'][0], $HTTP_POST_FILES['userfile']['size'][0] és $HTTP_POST_FILES['userfile']['type'][0] szintén elérhetőek.