Koodla Dosya Yükleme sınıfı, sunucuya dosya yükleme işlemini olabildiğince basitleştirme ve sadeleştirme amacıyla yazılmış bir PHP sınıfıdır.
Özellikleri:
- Sunucuya yüklenecek dosya için min boyut kontrolü yapar.
- Suncuya yüklenecek dosya için max boyut kontrolü yapar.
- Suncuya yüklenecek dosyayı uzantı kontrolünden geçirir.
- Suncuya yüklenecek dosyanın ismini farklı alternatiflerle değiştirebilir.
- Yükleme sırasında oluşan hatayı yakalar ve bildirir.
PHP 4 - PHP 5 uyumludur.
Basit bir kullanımı aşağıdaki gibidir:
include_once('yukleme.php');
$yukle = new yukleme($_FILES);
$yukle->yuklenecekDizin('yuklenenler');
if($yukle->yukle() == true)
echo 'işlem gerçekleştirildi...';
else
echo $yukle->hataVer();
Ya da daha özelleşmiş bir kullanımı da aşağıdaki gibidir:
include_once('yukleme.php');
$yukle = new yukleme($_FILES);
$yukle->yuklenecekDizin('yuklenenler');
$yukle->minBoyut(10);
$yukle->maxBoyut(1000);
$yukle->isimDegistir(3,2);
$yukle->uygunUzantilar(array('doc', 'txt'));
if($yukle->yukle() == true)
echo 'işlem gerçekleştirildi...';
else
echo $yukle->hataVer();
Dosyaların yükleneceği dizini ayarlar.
Örnek kullanımı aşağıdaki gibidir:
yuklenecekDizin('yuklenenler')Sınıf içerisinde yer alan $hedefonek değişkeni de değiştirilirse, mutlak yollar yazmak mümkün olur. Örn: sınıf içerisinde yer alan $hedefonek değeri '/home/isa/public_html/' ise, dosyaların yükleneceği dizin:
/home/isa/public_html/yuklenenler/
olur.
Slash işareti kontrolü yapar, yani "yuklenenler" ile "yuklenenler/" değerleri arasında fark gözetmez.
Yukleme işlemini başlatan temel fonksiyondur. Yükleme başarılı olursa true, başarısız olursa false değeri geri döner.
if($yukle->yukle() == true)
echo 'işlem gerçekleştirildi...';
else
echo $yukle->hataVer();
Yuklenecek dosya için min boyut değerini ayarlar. kilobayt cinsinden değerleri alır.
minBoyut(20);Yüklenecek dosya için max boyut kontrolü yapar. kilobayt cinsinden değerleri alır.
maxBoyut(200);Yüklenecek dosyanın sahip olabileceği uzantı değerlerini belirler. Array ya da string olarak değer kabul edebilir.
uygunUzantilar(array('txt', 'doc'));
//ya da
uygunUzantilar('jpg');
Yüklenen dosya için yeni bir isim belirler ve yükeleme dizinine bu yeni isimle kaydeder.
3 farklı isimlendirme methodu vardır. Bunlarda içerisinde farklı methodlara ayrılır.
Method 1: İsmi tümden değiştirme
- teknik 1: ismi rastgele karakterlerle değiştir.
- Teknik 2: ismi zaman ile değiştir.
Method 2: İsmin başına ek getirme
- teknik 1: ismin başına rastgele karakterler getir.
- teknik 2: ismin başına zaman kaydını ekle.
Method 3: ismin sonuna ek getir
- teknik 1: ismin sonuna rastgele karakterler getir.
- Teknik 2: ismin sonuna zaman kaydını ekle.
Böylece kullanım şekli aşağıdaki gibi olur:
isimDegistir(1, 2); //2009-04-25--18-48-52.jpg
isimDegistir(2, 1); //asdkl43kşldkas4324ds-cicek.jpg
isimDegistir(3, 2); //cicek-2009-04-25--18-48-52.jpg
Bu method ve tekniklerin dışında siz de method ve teknik belirtebilirsiniz. Sınıfın içerisinde ilgili methodun kodlarında değişiklik yaparak yeni methodlar tanımlayabilirsiniz.
Yükleme sırasında oluşan hatayı almak için kullanılır.
if($yukle->yukle() == true)
echo 'işlem gerçekleştirildi...';
else
echo $yukle->hataVer();
//örnek hata: "Yuklenen dosya maksimum boyut degerinden daha büyük."
Yükleme sırasında bir hata oluşursa, hata oluştuktan sonraki aşamalardaki işlemler gerçekleştirilmez, es geçilir.
Mayıs 2009: v1.0
Bu yazılım GNU Public lisansı ile lisanslanmıştır.
Sınıfı Hazırlayan: İsa Engiz
eposta adresi: isaengiz@gmail.com