İ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ı
<div class="ortalayici"> <h1>Php ile Dosya Yükleme</h1> <form action="yukle.php" enctype="multipart/form-data" method="post"> Dosya Yükleme: <input type="file" name="dosya" /> <br /> <input type="submit" name="submit" value="Gönder" /> </form> </div>index.html (Görünüm)
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
<?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ü.