O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

22.12 Ein Verzeichnis und seinen Inhalt entfernen

Problem

Sie möchten ein Verzeichnis und seinen gesamten Inhalt löschen, Unterverzeichnisse und deren Inhalt eingeschlossen.

Lösung

Nutzen Sie RecursiveDirectoryIterator und RecursiveIteratorIterator und geben Sie dabei an, dass Kinder (Dateien und Unterverzeichnisse) vor den Eltern aufgeführt werden sollen, wie Sie es in Listing 22.6 sehen.

<?php
function obliterate_directory($dir) {
    $iter = new RecursiveDirectoryIterator($dir);
    foreach (new RecursiveIteratorIterator($iter, RecursiveIteratorIterator::CHILD_FIRST) as $f) {
        if ($f->isDir()) {
            rmdir($f->getPathname());
        } else {
            unlink($f->getPathname());
        }
    }
    rmdir($dir);
}
obliterate_directory('/tmp/junk');
?>

Listing 22.6 Ein Verzeichnis vernichten

Diskussion ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required