PHP Dersleri

PHP ile Eski Dosyaları Silme

Gereksiz yer tutan dosyaları, yüklenme tarihinden kontrol ederek taşıma yada silme gibi işlemler gerçekleştirebilirsiniz. Yüklenme tarihi ile şu an bulunan tarihi çıkarttığınızda da aradaki fark, yüklenmeden sonra geçen zamanı verecektir. Elde edilen bu zamanı da bir koşul ile belirtip, eski dosyalar için istediğiniz işlemleri gerçekleştirebilirsiniz.

Bir dosyanın yüklenme tarihini öğrenmek için filectime() fonksiyonu kullanılmaktadır. Parametre olarak dosyanın yolunu almaktadır. Belirlenen dosyaya ait yüklenme değeri unix olarak göndürülecektir.

<?php
## Silinecek Dosyaların Dizinini Seçiyoruz
$dizin  = "/xampp/htdocs/";
## Dizinteki tüm uzantıları seçiyoruz.
foreach (glob($dizin."*") as $file) {
   ## Şimdiki zamanı tanımladık.
   $suankiZaman  = time();
   ## Dosya yüklenme zamanını tanımladık.
   $dosyaTarih   = filectime($file);
   ## Geçen süreyi hesapladık.
   $fark         = $suankiZaman - $dosyaTarih;
   ## Kontrol edilen dosya "1 GÜN" önce yüklenmişse ekrana yaz
   if( $fark > 86400){
      echo "Eski: ".$file." <br>";
   }else{
      ## 1 GÜN'den önce yüklenmişse ekrana yaz
      echo "Yeni: ".$file." <br>";
   }
}
?>

Yukarıda yer alan örnekte de tam olarak bu işlem gerçekleştirilmektedir. Belirlenen dizindeki tüm dosya uzantılarını listeleyip, filectime() fonksiyonu ile yüklenme zamanını buluyoruz. Elde ettiğimiz tarihten şimdiki tarihi çıkartıp arada geçen süreyi buluyoruz. Eğer süre 86.400’den büyükse (1 Gün yani 24 saat’i ifade eder) ekrana eski ibaresi ile yazmasını istedik. Eğer küçükse yeni ibaresi ile yazmasını istedik.

Yukarıdaki örnekte sadece eski/yeni olarak ayırtetme işlemi yapılmaktadır. Burada eski ve yeni dosyalar için yapacağınız işlemler size kalmış aslında. Eğer eski dosyaları silmek isterseniz unlink() fonksiyonunu kullanmanız gerekecektir. Hazırlanan if koşulunda aşağıdaki gibi düzenlenmelidir.

   if( $fark > 86400){
      echo "Silindi: ".$file."<br>";
      unlink($file);
   }else{
      ## 1 GÜN'den önce yüklenmişse ekrana yaz
      echo "Yeni: ".$file." <br>";
   }

Yukarıda yer aldığı gibi gelen $file değişkenini unlink() ile yazarak dosyanın silinmesini sağlayabilirsiniz. Belirlenen dosyaları silmek yerine farklı bir yere taşımak yada kalitesini azaltmak gibi bir çok işlemi gerçekleştirebilirsiniz.

Daha Fazla Göster

İlgili Makaleler

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Kapalı