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

  • B3ASTTY™

    B3ASTTY™

    27 Mayıs 2013
  • Bokeh

    Bokeh

    9 HAZİRAN 2014
  • CMTelly

    CMTelly

    2 Mayıs 2007