Tweet

Php İle Geçici Dosyaları Silmek

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.[...]

CODE:
<?
// 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.


Dia
okanatabag@gmail.com
4 Ocak 2007 13:42

İlgili Olabilecek Makaleler


Yorumlar (0)




Ziyaretçi olarak yorum yazamazsınız. Üye olmak için tıklayın Üye iseniz giriş yapın.



MENÜ » FORUM
Menü » Takip et
RSS Facebook Twitter Friendfeed
Sık Kullanılanlar Google Yahoo Live
Menü » Paylaş
E-Posta ile gönder Twitter Facebook Friendfeed
Buzz Stumbleupon Delicious Digg