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 ...
Get PHP 5 Kochbuch, Third Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.