ana sayfa > PHP > Php İle Geçici Dosyaları Silmek

Php İle Geçici Dosyaları Silmek

Pazar, 11 Nis 2010

Bu yazıda geçici olarak serverimizde oluşturduğumuz dosyaları, süreleri dolduğunda gereksiz disk alanı kaplamasını önlemek için nasıl sileceğimiz göreceğiz. Örneğin bir captcha uygulaması için bir klasör içerisinde jpg dosyaları oluşturuyoruz. Captcha resimleri bir kez kullanıldığı için diznimizde gereksiz yere alan kaplayacaktır. Bizde gereksiz resimleri nasıl sileceğimizi göreceğiz.

<?

// Klasörümüz tanımladık.

$captchaFolder  = 'temp/';

// Dosya tipimizi belirlemek için patternimiz oluşturduk.

$fileTypes      = '*.jpg';

// Örneğin 10 dakikadan daha önce yaratılmış resim dosyalarının silinmesi için bir zaman aşımı değişkeni tanımlayalım.

$expire_time    = 10;

// glob() foksiyonu ile patternimize uyan dosyları seçiyoruz.

// Aşağıdaki olaylar foreach() içerisinde yer aldığı için

// patterne uyan her dosya için tekrarlanacaktır.

foreach (glob($captchaFolder . $fileTypes) as $Filename) {

    // Dosyanın oluşturulma zamanını timestamp (zaman mühürü) olarak alıyoruz.

    $FileCreationTime = filectime($Filename);

    // Dosyamızın yaşam süresini hesaplıyoruz.

    $FileAge = time() - $FileCreationTime;

    // Belirlediğimiz 10 dakikalık sınırı geçen dosyaları belirliyoruz.

    if ($FileAge > ($expire_time * 60)){

        // Şimdi bu if bloğu içerisinde sınırı geçen dosyalara dilediğimiz işlemi gerçekleştirebiliriz.

        print "$Filename dosyası $expire_time dan daha önce yaratılmış \n";

        // Eğer bu dosyayı silmek istiyorsak aşağıdaki unlink fonksiyonunu kullanabiliriz.

        // Kazalara neden olması diye ben comment e aldım.

        //unlink($Filename);

    }

}?>

Kodumuz basit ve analaşılır şekilde olmuştur inşallah. Bu kodu düzenleyerek birçok farlı amaç için kullanabilirsizin. Bu sizin ihtiyacınıza göre değişecektir.
Kolay Gelsin.

Okan ATABAĞ

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Shout it
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter
Google Buzz (aka. Google Reader)

coders PHP

  1. şimdilik yorum yok.
  1. şimdilik geri bağlantı yok
  • RSS
  • Newsletter
  • Twitter
  • Facebook
  • MySpace
  • FriendFeed