SORU
26 Temmuz 2010, PAZARTESİ


Nasıl PHP bir dizini ve onun tüm içeriğini silmek özyinelemeli (dosyalar alt dizin)?

Nasıl bir dizini ve onun tüm içeriğini (alt dizinleri ve dosyaları) silmek PHP muyum?

CEVAP
28 Temmuz 2010, ÇARŞAMBA


The Pixel Developer's comment, bir parçacık SPL kullanarak yapı gibi görünebilir:

$files = new RecursiveIteratorIterator(
    new RecursiveDirectoryIterator($dir, RecursiveDirectoryIterator::SKIP_DOTS),
    RecursiveIteratorIterator::CHILD_FIRST
);

foreach ($files as $fileinfo) {
    $todo = ($fileinfo->isDir() ? 'rmdir' : 'unlink');
    $todo($fileinfo->getRealPath());
}

rmdir($dir);

Not: yokhayırakıl sağlığını kontrol ve SKİP_DOTS bayrağı PHP 5.3.0 içinde Filesystemİterator ile tanıttı kullanır. Tabii ki, $todo if/elsebir olabilir. Önemli nokta CHILD_FIRST ilk üst (klasörler) önce çocuklar (dosyalar) üzerinde yineleme için kullanılır.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FPSRussia

    FPSRussia

    19 NİSAN 2010
  • Microsoft Research

    Microsoft Re

    24 EKİM 2008
  • Mr. H

    Mr. H

    1 Temmuz 2012