HTML formu aracılığıyla çoklu dosya gönderme işlemi, enctype="multipart/form-data"
özelliğini kullanarak ve multiple
özelliğini dosya input elemanına ekleyerek gerçekleştirilebilir. PHP tarafında bu dosyaları almak ve işlemek için ise $_FILES
süper global değişkeni kullanılır.
Aşağıda, çoklu dosya gönderme ve veri alma örneği bulunmaktadır:
HTML Form Oluşturma (coklu_dosya_formu.html)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Çoklu Dosya Gönderme Formu</title>
</head>
<body>
<form action="coklu_dosya_isle.php" method="post" enctype="multipart/form-data">
<label for="dosyalar">Dosyaları Seç:</label>
<input type="file" id="dosyalar" name="dosyalar[]" multiple required>
<br>
<label for="aciklama">Açıklama:</label>
<textarea id="aciklama" name="aciklama" rows="4" cols="50"></textarea>
<br>
<input type="submit" value="Gönder">
</form>
</body>
</html>
PHP Çoklu Dosya İşleme (coklu_dosya_isle.php)
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Formdan gelen verileri alma
$dosyalar = $_FILES["dosyalar"];
$aciklama = $_POST["aciklama"];
// Çoklu dosya işlemlerini gerçekleştirme
foreach ($dosyalar["name"] as $index => $dosyaAdi) {
$dosyaBoyutu = $dosyalar["size"][$index];
$dosyaTipi = $dosyalar["type"][$index];
$dosyaGeciciYolu = $dosyalar["tmp_name"][$index];
// Dosyayı istenen konuma taşıma
$hedefYolu = "uploads/" . $dosyaAdi;
move_uploaded_file($dosyaGeciciYolu, $hedefYolu);
// Verileri ekrana yazdırma
echo "Dosya Adı: " . $dosyaAdi . "<br>";
echo "Dosya Boyutu: " . $dosyaBoyutu . " bytes<br>";
echo "Dosya Türü: " . $dosyaTipi . "<br>";
echo "Açıklama: " . $aciklama . "<br><br>";
}
echo "Dosyalar başarıyla yüklendi.";
}
?>
Yukarıdaki örnekte, formdaki dosya inputu için enctype="multipart/form-data"
kullanılmış ve multiple
özelliği ile çoklu dosya seçeneği sağlanmıştır. PHP tarafında $_FILES["dosyalar"]
ile bu dizilere erişebilir ve verileri işleyebilirsiniz. move_uploaded_file()
fonksiyonu ile her bir dosya belirtilen hedefe taşınmıştır. Bu örnek, çoklu dosya gönderme işlemlerinde kullanılan temel yöntemleri göstermektedir.