Bu yazımda size önceki yazılarımda anlattığım dosya işlemlerini, çoklu dosya yüklerken nasıl kullanacağınızı göstereceğim.
Şöyle bir form oluşturalım.
<form action='sonuc.php' method='post' enctype="multipart/form-data">
Dosya seçiniz: <br>
<input type='file' name='dosya[]' multiple><br>
<button type='submit'>YÜKLE</button>
</form>
Daha sonra oluşturulan bu formdan dosya özelliklerini döndürelim.
function multi_upload($dosyalar){
echo '<pre>';
print_r($dosyalar);
echo '</pre>';
};
$sonuc = multi_upload($_FILES['dosya']);
Yukarıdaki kodları sonuc.php adındaki bir belgeye yazıysak kodlarımız düzgün olarak görüntülecektir. Şimdi birden fazla dosya yüklemeye alışın. Muhtemelen önünüze şuna benzer bir ekran çıkacaktır:
[type] => Array ( [0] => image/png [1] => image/png ) [tmp_name] => Array ( [0] => C:\xampp\tmp\php2087.tmp [1] => C:\xampp\tmp\php2088.tmp ) [error] => Array ( [0] => 0 [1] => 0 ) [size] => Array ( [0] => 145252 [1] => 159899 )
Şimdi bu kodlara biraz kontrol yapıları ekleyelim. Örneğin; dosyaları yüklerken her hangi bir hata olup olmadğını kontrol etmek için şöyle bir kod yazabiliriz.
function multi_upload($dosyalar){
$sonuc = [];
foreach($dosyalar['error'] as $index => $error){
if($error == 4){
$sonuc['hata'] = 'Lütfen dosya seçiniz...';
}else{
$sonuc['hata'][] = 'Dosya yüklenirken bir hata oluştu.';
}
}
if(isset($sonuc['hata'])){
echo '<pre>';
print_r($dosyalar);
echo '</pre>';
}
};
$sonuc = multi_upload($_FILES['dosya']);