RemoveDir – Klasör Sil (Php Class)

Bazen gerek görmediğimiz dizinleri silmek isteriz ama bunu yaparken birçok sorunla karşılaşabiliyoruz . İşte bu sorunlara kökten çözüm getirerek istediğini bir klasörü alt klasörleri ve tüm içeriğiyle birlikte silmenize yarayan bir class paylaşmak istiyorum bugün. Class ' ımızı istediğimiz sayfaya include (içeri çağırdığımızda) ettikten sonra şu şekilde istediğimiz klasörü kökünden yok edebiliriz.

dirremove.php :

PHP:
  1. <?php
  2. include("removeclass.inc.php"); // class dosyamızı içeriğe çağırdık .
  3. $obj=new removeDir();
  4. $obj->deleteDir("../silenecek_klasor/"); // silinecek Klasörün adresi.
  5. ?>


Asıl ana dosyamız olan removeclass.inc.php :

PHP:
  1. <?php
  2.  
  3.  
  4. class removeDir{
  5.     private $dirmn;
  6.     function removeDir(){} // Constructor
  7.     function isEmpty($path) // Boş mu değilmi kontrolü .
  8.     {
  9.         $handle=opendir($path);
  10.         $i=0;
  11.         while (false !== ($file = readdir($handle)))
  12.             $i++;
  13.         closedir($handle);
  14.         if($i>=2)   
  15.             return false;
  16.         else
  17.             return true;
  18.     }
  19.     function deleteDir($dirnm) // Dizin - alt dizin ve dosyaları sil .
  20.     {
  21.         $d=dir($dirnm);
  22.         while(false !== ($entry = $d->read()))
  23.         {
  24.             if($entry=="." || $entry=="..")
  25.                 continue;
  26.             $currele=$d->path."/".$entry;
  27.             if(is_dir($currele))
  28.             {
  29.                 if($this->isEmpty($currele))
  30.                 {
  31.                     @rmdir($currele);
  32.                 }
  33.                 else
  34.                 {
  35.                     $this->deleteDir($currele);
  36.                 }
  37.             }
  38.             else
  39.             {
  40.                 @unlink($currele);
  41.             }
  42.         }
  43.         $d->close();
  44.         rmdir($dirnm);
  45.         return true;
  46.     }
  47.  
  48. }
  49. ?>

Umarım işinize yarar ;)

Leave a Reply

*
Gereksiz Yorumlari Engellemek icin bu uygulamaya 3 sn katlanmak zorundasiniz .
Buraya Tiklayin

Click to hear an audio file of the anti-spam word