inputlar için farklı name değerleri kullanarak çoklu dosya gönderilebilir.
Ayrıca bilgilerin özdevinimli olarak dizilerde düzenlendiği bir eşzamanlı dosya gönderimi de mümkündür. Bunun için, HTML formunda birden fazla input için aynı dizi söz dizimini kullanmalısınız:
Örnek 1 - Çoklu dosya yükleme
<form action="dosya-yukle.php" method="post" enctype="multipart/form-data"> Bu dosyaları gönder:<br /> <input name="kullanici_dosyasi[]" type="file" /><br /> <input name="kullanici_dosyasi[]" type="file" /><br /> <input type="submit" value="Dosyaları gönder" /> </form>
Yukarıdaki form gönderildiğinde, $_FILES['kullanici_dosyasi'], $_FILES['kullanici_dosyasi']['name'] ve $_FILES['kullanici_dosyasi']['size'] dizileri ilklendirilir (4.1.0'dan önceki PHP sürümleri için $HTTP_POST_FILES). register_globals değeri "on" olduğunda, yüklenen dosyalar içinde küreseller ilklendirilir. Bunlardan her biri gönderilen dosyanın değerine uygun olarak sayısal indisli bir dizi olurlar.
Örneğin, gönderilen dosya isimleri /home/test/review.html ve /home/test/xwp.out olsun. Bu durumda, $_FILES['kullanici_dosyasi']['name'][0] review.html değerini içerir ve $_FILES['kullanici_dosyasi']['name'][1] xwp.out değerini içerir. Benzer şekilde, $_FILES['kullanici_dosyasi']['size'][0] review.html'in dosya boyutunu içerir ve böyle devam eder.
$_FILES['kullanici_dosyasi']['name'][0], $_FILES['kullanici_dosyasi']['tmp_name'][0], $_FILES['kullanici_dosyasi']['size'][0] ve $_FILES['kullanici_dosyasi']['type'][0]'a da ayrıca değerleri atanır.
PHP 5.2.12'den itibaren, max_file_uploads yapılandırma seçeneği bir istekte yüklenebilecek azami dosya sayısını belirtmek için kullanılabilmektedir. Formunuzun bir istekte bu sayıdan fazla dosya yüklemeye çalışmamasını sağlamalısınız.