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

  • Fr. Eckle Studios

    Fr. Eckle St

    29 Kasım 2006
  • Video Copilot

    Video Copilo

    21 EYLÜL 2006
  • Within Temptation

    Within Tempt

    18 EYLÜL 2006