Dosya gönderme işlemi, HTML formu aracılığıyla kullanıcıdan dosya almak ve bu dosyayı bir sunucuya iletmek için kullanılır. Bu işlem genellikle enctype="multipart/form-data"
özelliği ile belirtilir. PHP'de bu dosyayı almak ve işlemek için $_FILES
süper global değişkeni kullanılır.
Aşağıda, dosya gönderme ve veri alma örneği bulunmaktadır:
HTML Form Oluşturma (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>Dosya Gönderme Formu</title>
</head>
<body>
<form action="dosya_isle.php" method="post" enctype="multipart/form-data">
<label for="dosya">Dosya Seç:</label>
<input type="file" id="dosya" name="dosya" 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 Dosya İşleme (dosya_isle.php)
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Formdan gelen verileri alma
$dosya = $_FILES["dosya"];
$aciklama = $_POST["aciklama"];
// Dosya işlemlerini gerçekleştirme
$dosyaAdi = $dosya["name"];
$dosyaBoyutu = $dosya["size"];
$dosyaTipi = $dosya["type"];
$dosyaGeciciYolu = $dosya["tmp_name"];
// 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>";
echo "Dosya başarıyla yüklendi.";
}
?>
Yukarıdaki örnekte, formdaki dosya inputu için enctype="multipart/form-data"
kullanılmış ve PHP tarafında $_FILES
süper global değişkeni kullanılarak dosya bilgilerine erişilmiştir. move_uploaded_file()
fonksiyonu ile dosya belirtilen hedefe taşınmıştır. Bu işlemler, dosya gönderme işlemlerinde yaygın olarak kullanılan temel yöntemlerdir.