Bir projede çalışırken dosya yükleme (upload) işlemi için php kullanmam gerekiyordu. Birazcık araştırma yaptığım zaman kısa kod kümesi ile dosyaların yükleme işlemi başarıyla gerçekleşti. Bu işlemi yaparken sizlere açıklamalarla anlatmaya çalışacağım.
İki adet sayfadan oluşan bu sistemde form işlemlerinin bulunduğu index.html dosyamız ve bu formdan gelen bilgileri işleyen yukle.php bulunmaktadır.
1) Basit bir form tasarımı yapalım. (Birazcık CSS ile şekillendirdim. CSS ile şekillendirilmiş örneği, indirme bağlantısında mevcuttur.)
index.html sayfası
Php ile Dosya Yükleme
index.html (Görünüm)
Not: yukle.php dosyamızın içerisinde gelen dosyanın adını değiştiren fonksiyonumuz mevcuttur. Buradaki fonksiyon, dosya adındaki Türkçe karakterleri (ş, ğ) vb.., "+", "ã§" gibi gelen karakterleri replace etmektedir.
yukle.php
function fnDosya_Adi_Duzelt($parVeri)
{
$strDonen_Deger = "";
if (isset($parVeri))
{
$strDonen_Deger = str_replace('ã¢', 'a', $parVeri);
$strDonen_Deger = str_replace('ã‚', 'a', $parVeri);
$strDonen_Deger = str_replace('ãª', 'e', $parVeri);
$strDonen_Deger = str_replace('ãš', 'e', $parVeri);
$strDonen_Deger = str_replace('ã§', 'c', $parVeri);
$strDonen_Deger = str_replace('ã‡', 'c', $parVeri);
$strDonen_Deger = str_replace('äÿ', 'g', $parVeri);
$strDonen_Deger = str_replace('äž', 'g', $parVeri);
$strDonen_Deger = str_replace('ä°', 'i', $parVeri);
$strDonen_Deger = str_replace('ä±', 'i', $parVeri);
$strDonen_Deger = str_replace('ã¶', 'o', $parVeri);
$strDonen_Deger = str_replace('ã–', 'o', $parVeri);
$strDonen_Deger = str_replace('åÿ', 's', $parVeri);
$strDonen_Deger = str_replace('åž', 's', $parVeri);
$strDonen_Deger = str_replace('ã¼', 'u', $parVeri);
$strDonen_Deger = str_replace('ãœ', 'u', $parVeri);
$strDonen_Deger = str_replace('â', 'a', $parVeri);
$strDonen_Deger = str_replace('Â', 'a', $parVeri);
$strDonen_Deger = str_replace('ê', 'e', $parVeri);
$strDonen_Deger = str_replace('Ê', 'e', $parVeri);
$strDonen_Deger = str_replace('ç', 'c', $parVeri);
$strDonen_Deger = str_replace('Ç', 'c', $parVeri);
$strDonen_Deger = str_replace('ğ', 'g', $parVeri);
$strDonen_Deger = str_replace('Ğ', 'g', $parVeri);
$strDonen_Deger = str_replace('İ', 'i', $parVeri);
$strDonen_Deger = str_replace('I', 'i', $parVeri);
$strDonen_Deger = str_replace('ı', 'i', $parVeri);
$strDonen_Deger = str_replace('ö', 'o', $parVeri);
$strDonen_Deger = str_replace('Ö', 'o', $parVeri);
$strDonen_Deger = str_replace('ş', 's', $parVeri);
$strDonen_Deger = str_replace('Ş', 's', $parVeri);
$strDonen_Deger = str_replace('ü', 'u', $parVeri);
$strDonen_Deger = str_replace('Ü', 'u', $parVeri);
$strDonen_Deger = str_replace(' ', '-', $parVeri);
$strDonen_Deger = preg_replace('/[^a-zA-Z0-9.]/', '-', $parVeri);
}
return $strDonen_Deger;
}
if(isset($_FILES['dosya']['name'])){
$strDosya_Adi = $_FILES['dosya']['name'];
$strDosya_Bellek_Yeri = $_FILES['dosya']['tmp_name'];
$strDosya_Tipi = $_FILES['dosya']['type'];
$strDosya_Boyutu = $_FILES['dosya']['size'];
$strYuklenecek_Klasor = 'dosyalar/' . fnDosya_Adi_Duzelt($strDosya_Adi);
if (move_uploaded_file($strDosya_Bellek_Yeri, $strYuklenecek_Klasor)){
echo "Dosya başarıyla yüklendi.";
}else{
echo "Dosya yüklenirken bir hata oluştu.";
}
}
?>
yukle.php dosyasının görünümü.
Detaylar ve indirme bağlantısı için.
Php ile Dosya Yükleme İşlemi Örnek 1