PHP - Dosya Yükleme işlemi (File upload)
PHP ile dosya yükleme işlemini gerçekleştirmek oldukça kolaydır. Bu işlemi yapan kod örneği aşağıdadır.
// ################################################# <?
if (!empty($_GET["upload"])) {
$uploaddir ="dosyalar/";
$uploadfile = $_FILES['userfile']['name'];
print "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "Dosya başarı ile yüklendi. ";
} else {
print "Dosya yüklenemedi. Tekrar deneyiniz";
}
print "</pre>"; }
?>
<form enctype="multipart/form-data" action="upload.php?upload=1" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />
Dosya Seçiniz: <input name="userfile" type="file"/>
<input type="submit" value="Upload" />
</form>
// #################################################
// #################################################
Yukarıdaki örneği detaylı olarak inceleyelim.
İlk olarak form doldurularak bir dosya yüklemesi gerçekleştirilmek istenilmesi durumdaki işlemler yapılmaktadır.
if (!empty($_GET["upload"]))
ifadesi ile formdan sayfaya yönlendirme olup olmadığına bakılmaktadır. Eğer form doldurulmamışsa bu bölüm atlanacak ve ekrana sadece dosya yükleme formu gelecektir.
$uploaddir="images/";
ifadesi ile dosyaların yükleneceği klasör ayarlanmaktadır. Burada unutulmaması gereken nokta dosyaların yüklendiği klasöre internet server'ın yazma yetkisinin verilmesi gerekmektedir. Aksi taktirde server dosyayı belirtilen klasöre yükleyemeyecektir. Dosyaların yüklenme adresi dosyalar klasörü olarak belirtilmiştir.
$uploadfile = $_FILES['userfile']['name'];
ifadesi ile ise yüklenen dosyanın ismi alınmıştır. Bu değişkenin ismini kendi isteğinize göre değiştirip dosyayı o isimle kayıt edebilirsiniz.
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)
ifadesi ile kullanıcının seçtiği dosya belirtilen klasöre yüklenmektedir. Kontrol ifadesi ile işlemin gerçekleştirilip gerçekleştirilmediği kontrol edilmekte ve uygun duruma göre mesajlar verilmektedir.
En alt tarafta ise kullanıcıların dosya yüklemesini sağlayan form bölümü bulunmaktadır. Dikkat edilecek olursa 'enctype="multipart/form-data" ' ifadesi ile bir dosyanın yükleneceği belirtilmiştir. Ayrıca <input> bölümünde bulunan "value=30000" ifadesi ile yüklenecek olan dosya boyutuna sınırlama getirilmiştir. Bu bölüm
"byte" cinsinden maksimum dosya boyutunu bildirmektedir. Form sayesinde kullanıcı istediği dosyayı seçebilmekte ve yükleyebilmektedir. Yukarıdaki kodları kopyaladıktan sonra kendi ayarlamalarınızı yaptıktan sonra upload.php olarak kayıt edip, çalıştırabilirsiniz.
|