Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Koşullu dizin içi silme

Konu, 'PHP' kısmında php_kolick tarafından paylaşıldı.

  1. php_kolick

    php_kolick Üye

    Kayıt:
    9 Aralık 2008
    Mesajlar:
    65
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Teknisyeni
    Şehir:
    Kayseri
    Merhabalar;

    yazdığım bir sistemde plugin yüklemesi yaptıktan sonra geçici dosyaların ve işlem kayıtlarını tutan "temp" adlı dizinin içini boşaltmam gerekli. Yalnız aynı zamanda dizin içinde bulunmasını istediğim "index.php" veya "index.html" ".htaccess" gibi bazı dosyalarım da var. geri kalanların tamamının bir silme işlemiyle kaldırılmasını istiyorum.

    Bazı denediğim kodlar oldu. ancak biri bütün "tem"p dizinini kaldırıyor. diğeri ise sadece dosyaları. klasörler kalıyor.

    Yardımcı olanlara ve olmak isteyenlere şimdiden teşekkürler.
     
  2. php_kolick

    php_kolick Üye

    Kayıt:
    9 Aralık 2008
    Mesajlar:
    65
    Beğenilen Mesajlar:
    0
    Meslek:
    Bilgisayar Teknisyeni
    Şehir:
    Kayseri
    Bu sadece dosyaları temizliyor. İstediğim gibi bazı dosyalara dokunmuyor.
    PHP:
    <?php$anadizin "temp";if ($kaynak opendir($anadizin)) {while (false != ($file readdir($kaynak)))   {       if ($file != "." AND $file != ".." AND $file != "index.html" AND file !=".htaccess")       {       unlink($anadizin."/".$file);       }   }}?>
    Bu ise "temp" dizini dahil yok ediyor...
    PHP:
    <?phpfunction KlasorSil($dir) {if (substr($dirstrlen($dir)-11)!= '/')$dir .= '/';//echo $dir; //silinen klasörün adıif ($handle = opendir($dir)) {    while ($obj = readdir($handle)) {        if ($obj!= '.' && $obj!= '..') {            if (is_dir($dir.$obj)) {                if (!KlasorSil($dir.$obj))                    return false;                } elseif (is_file($dir.$obj)) {                    if (!unlink($dir.$obj))                        return false;                    }            }    }        closedir($handle);        if (!@rmdir($dir))        return false;        return true;    }return false;} $silinecekklasor="/temp/";//silinecek klasörün adı echo KlasorSil($silinecekklasor)?"oldu":"olmadı";?>