Sercan Çepni

PHP $_FILES Kullanımı

PHP $_FILES kullanımı yapacağımız tüm sistemlerde dosya yüklemek için kullanacağımız süper global değişkendir. İstediğimiz her türlü dosyayı yüklememizde bize yardımcı olur. İstersek bir if bloğu yaparak sadece resim yada sadece pdf yada sadece bu ikisi harici diğer dosyaları sisteme yükletmeye de biliriz. Hemen bir örnek ile nasıl kullanıldığını göstereyim ;

<?php
if (isset($_POST['yukle'])) {
  if (move_uploaded_file($_FILES['dosya']['tmp_name'], $_FILES['dosya']['name']))
    {
    		echo "Dosya Yüklendi.\n";
    } else {
    		echo "Dosya Yüklenemedi!\n";
    }
}
?>
<form action="#" method="POST" enctype="multipart/form-data">
<input type="file" name="dosya" />
<input type="submit" name="yukle" value="Yükle">
</form>

Ekran Çıktıları ;



Gördüğünüz gibi Dosya Yüklendi mesajı geldi ve ana dizini kontrol ettiğimiz de 1024.png dosyasını ana dizinde olduğunu gördük. Burada şunu hatırlatmakta fayda var bu kod şuan da açığı olan bir kod yani sisteme her türlü dosyayı yükler buda sitenin hacklenmesine yol açar diğer derslerde bu konuyu ayrıntılı olarak işleyeceğim. Siz sadece nasıl işlediğine bakın kodun. Ayrıca aşağıdaki tabloda $_FILES komutunun özellikleri yer almaktadır.

Değişken Açıklama
$_FILES[‘kullanici_dosyasi’][‘name’] Sisteme yüklenecek dosya adı.
$_FILES[‘kullanici_dosyasi’][‘type’] Dosyanın hangi tür olduğunu belirler. Örneğin ; “image/gif”
$_FILES[‘kullanici_dosyasi’][‘size’] Yüklenecek dosyanın bayt cinsinden boyutu.
$_FILES[‘kullanici_dosyasi’][‘tmp_name’] Yüklenecek dosyanın sunucuda geçici olarak saklanacağı yer.
$_FILES[‘kullanici_dosyasi’][‘error’] Dosya yüklenmesi sırasında hatayı ekrana yazdırır.

Dosya yükleme formunuzun enctype=”multipart/form-data” özniteliğine sahip olduğundan emin olun, aksi takdirde dosya yükleme çalışmaz.

Exit mobile version