22.11 Ein Verzeichnis und seinen Inhalt löschen
Problem
Sie wollen ein Verzeichnis und seinen gesamten Inhalt löschen, einschließlich der Unterverzeichnisse und deren Inhalt.
Lösung
Unter Unix verwenden Sie rm:
$directory = escapeshellarg($directory); exec("rm -rf $directory");
Unter Windows verwenden Sie rmdir:
$directory = escapeshellarg($directory); exec("rmdir /s /q $directory");
Diskussion
Natürlich kann es gefährlich sein, Dateien zu löschen. Stellen Sie sicher, dass Sie $directory
mit escapeshellarg( )
entschärfen, so dass Sie nicht unbeabsichtigt Dateien löschen.
Da die in PHP eingebaute Funktion rmdir( )
nur leere Verzeichnisse löschen kann und unlink( )
keine Shell-Wildcards akzeptiert, ist das Aufrufen eines Systemprogramms viel einfacher, als ...
Get PHP 5 Kochbuch 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.