PHP ile dizin silme fonksiyonu

12 Ocak 2010

Asağıdaki fonksiyon ile bir dizindeki dosyaları silebilirsiniz. Fonksiyon ihtiyacınıza göre farklı şekillerde çalışabilir. Bir dizini alt dizinleriyle birlikte silebilirsiniz, dosya silerken ‘regular expression’ kullanıp dosya adına göre silme işlemi yapabilirsiniz, dizinin sadece içeriğini silebilirsiniz. Aşağıda gerekli bilgileri ve kullanım örneklerini PHPDoc şeklinde türkçe olarak yazdım.
/**
 * bir dizin/klasör icindeki dosyalari siler.
 * kullanim sekli:
 * dizinSil(string $dizin [, bool $dizininKendisiniSil=true
 *                      [, bool $altDizinleriSil=true
 *                      [, string $regEx='/.* /']]]);
 *
 * kullanim ornekleri:
 * dizinSil('/home/gudubeth/resimler');
 *      //dizin icindeki dosyalari, alt dizinleri ve dizinin kendisi siler
 * dizinSil('/home/gudubeth/resimler', false);
 *      //sadece dizinin icerigini siler. alt dizinler silinir
 * dizinSil('/home/gudubeth/resimler', false, false);
 *      //sadece dizinin icerigini siler. alt dizinler SİLİNMEZ
 * dizinSil('/home/gudubeth/resimler', false, true, '/.*\.jpg/');
 *      //dizin ve altdizinlerdeki jpg uzantili dosyalari siler.
 *
 * @param str $dizin
 *                      dizinin yeri. ornek: /home/guest/temp
 *                      veya c:/appserv/www/tmp
 * @param bool $dizininKendisiniSil
 *                      eger 'true' ise dizinin kendisini siler.
 *                      degil ise sadece dizin icerigi silinir.
 *                      varsayilan deger: 'true'
 * @param bool $altDizinleriSil
 *                      'true' ise yinelemeli (rekursif) calisip
 *                      alt dizinleri de siler.
 *                      varsayilan deger: 'true'
 * @param str $regEx
 *                      sadece $regEx ile secilen dosyalari siler.
 *                      regEx fonksiyonu olarak preg_match kullanilir.
 *                      varsayilan deger: '/.* /' (yani tum dosyalari sil).
 *                      ornek degerler:
 *                          mp3 uzantili dosyalari sil: '/.*\.mp3/'
 *                          adi a ile baslayan dosyalari sil: '/a.* /'
 *                          adinda 'tmp' gecen dosylari sil: '/.*tmp.* /'
 *
 * @return  bool        eger denenen her dosya silindiyse veya silinecek bir
 *                      dosya bulunamadiysa 'true' degerini dondurur.
 *                      Dosya silme islemlerinden herhnagi birisi hatali ise
 *                      'false' dondurur.
 * */
function dizinSil($dizin, $dizininKendisiniSil=true, $altDizinleriSil=true, $regEx="/.*/") {
    if(!$dh = @opendir($dizin)) return false;
    $sonuc=true;
    while (($dosya=readdir($dh))!==false) {
        if($dosya!='.' && $dosya!='..'){
            if(is_dir( $dizin.'/'.$dosya) && $altDizinleriSil)
                $sonuc = dizinSil($dizin.'/'.$dosya, true, true, $regEx) && $sonuc;
            else if(preg_match($regEx, $dosya))
                $sonuc = @unlink($dizin.'/'.$dosya) && $sonuc;
        }
    }
    closedir($dh);
    if($dizininKendisiniSil) $sonuc = @rmdir($dizin) && $sonuc;
    return $sonuc;
}

PHP'de '... gün önce' Şeklinde Bağıl Tarih Yazma

27 Nisan 2010

PHP'de '... gün önce' Şeklinde Bağıl Tarih Yazma

Youtube yorumlarında olduğu gibi, tarihleri '2 gün önce', '4 ay önce' gibi aradan geçen zaman şeklinde yazan fonksyion.

Sitenize javascript ile kısayollar ekleyin

25 Nisan 2010

Sitenize javascript ile kısayollar ekleyin

Websiteniz için klavye kısayolları yaratmaya yarayan javascript kütüphanesi. Herhangi bir kütüphaneye (JQuery, Mootools, vs) bağlı olmadan çalışabiliyor olması en büyük artılarından.

PHP'de Tarih ve Saat Farkı Hesaplama

16 Ocak 2010

PHP'de Tarih ve Saat Farkı Hesaplama

String ya da unix timestamp olarak gelen iki tarih arasındaki farkı içinde saniye, dakika, gun, ay, vs, gibi detayları barındıran bir dizi şekilde döndüren fonksyion.

PHP ile dizin silme fonksiyonu

12 Ocak 2010

PHP ile dizin silme fonksiyonu

Bir dizin ve içindeki dosyaları silmeyi sağlayan fonksiyon. Gerektiğinde 'regular expressions' kullanarak isme göre silme işlemi yapabilirsiniz.

PHP ile Türkçe Tarih Gösterimi-Çevrimi

30 Aralık 2009

PHP ile Türkçe Tarih Gösterimi-Çevrimi

Tarihleri Türkçe olarak yazan fonksiyon. Altyapısında PHP'nin 'date' fonksiyonu kullanılıyor. Bu sayede bu fonksiyonda kullandığınız parametreleri aynen kullanabiliyorsunuz.

UTF-8 metinlerdeki aksanları kaldırma

12 Aralık 2009

UTF-8 metinlerdeki aksanları kaldırma

İngiliz alfabesinde bulunmayan aksanlı harfleri (ç, ğ, ş), bu alfabeye uygun aksansız harflere (c, g, s) çevirmek için gerekli kod.