Wie kann ich rekursiv löschen Sie ein Verzeichnis und seinen gesamten Inhalt (Dateien + sub-dirs) in PHP?
Wie lösche ich ein Verzeichnis und seinen gesamten Inhalt (Dateien und Unterverzeichnisse) in PHP?
InformationsquelleAutor der Frage Itay Moav -Malimovka | 2010-07-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie versucht, die erste Anmerkung in der Bedienungsanleitung, Seite
rmdir
?InformationsquelleAutor der Antwort Artefacto
Gebäude auf Die Pixel-Developer ' s Kommentarein snippet, mit dem SPL Aussehen könnte:
Anmerkung: Es ist keine sanity checks und macht Gebrauch von der SKIP_DOTS Flagge eingeführt, mit der FilesystemIterator in PHP 5.3.0. Natürlich, die
$todo
könnte einif
/else
. Der wichtige Punkt ist, dassCHILD_FIRST
wird verwendet, um die Iteration über die Kinder (Dateien) zuerst, bevor Ihre Eltern (Ordner).InformationsquelleAutor der Antwort salathe
Löscht alle Dateien und Ordner im Pfad.
InformationsquelleAutor der Antwort Liko
Für *nix-können Sie eine
shell_exec
fürrm -R
oderDEL /S folder_name
für Windows.InformationsquelleAutor der Antwort ankitjaininfo
Gibt es einen anderen thread mit mehr Beispiele hier:
Eine rekursive Verzeichnis entfernen-Funktion für PHP?
Wenn Sie mit Yii, dann können Sie lassen Sie es auf den Rahmen:
InformationsquelleAutor der Antwort David Newcomb
InformationsquelleAutor der Antwort XzaR
'einfacher' code, der funktioniert und gelesen werden kann durch eine zehn-jährige:
Bitte beachten Sie, dass alles, was ich Tat, war erweitern/vereinfachen und zu beheben (hat nicht funktioniert für nicht leer von dir) hier die Lösung:
In PHP-wie kann ich rekursiv entfernen Sie alle Ordner, die nicht leer?
InformationsquelleAutor der Antwort Programster
Sowas?
InformationsquelleAutor der Antwort K-Gun
Enhanced @Artefacto 's Lösung - korrigiert Tippfehler und vereinfachte code, der funktioniert für beide - leer && nicht-leere Verzeichnisse .
InformationsquelleAutor der Antwort jave.web
unlinkr Funktion rekursiv löscht alle Ordner und Dateien im angegebenen Pfad, indem Sie sicher, dass Sie nicht löschen Sie das Skript selbst.
wenn Sie möchten, löschen Sie alle Dateien und Ordner, wo man dieses Skript dann rufen Sie es wie folgt
wenn Sie möchten, löschen Sie einfach nur php-Dateien, dann rufen Sie es wie folgt
können Sie einen beliebigen anderen Pfad, um die Dateien zu löschen als auch
Dies löscht alle Dateien in home/user/temp-Verzeichnis.
InformationsquelleAutor der Antwort Tofeeq
Sobald Sie fertig sind tests , nur entfernen # aus der #unlink und #rmdir in der Klasse .
InformationsquelleAutor der Antwort Alin Razvan
cleanup.php :
InformationsquelleAutor der Antwort Nkc
100% funktionierende Lösung
InformationsquelleAutor der Antwort David Pankov
Ich juste machte diesen code, aus dem einige StackOverflow-Diskussion. Habe ich nicht getestet auf Linux-Umgebung noch. Es ist gemacht, um zu löschen Sie eine Datei oder ein Verzeichnis, komplett :
InformationsquelleAutor der Antwort Chicna
InformationsquelleAutor der Antwort D3F4ULT
Beispiel mit glob() Funktion. Es löscht alle Dateien und Ordner rekursiv, einschließlich der Dateien, die beginnt mit dot.
InformationsquelleAutor der Antwort Danijel
Modifizierte Variante von @XzaR Lösung. Es tut entfernen Sie leere Ordner, wenn alle Dateien gelöscht sind von Ihnen, und das löst Ausnahmen aus, statt zurückgeben, false bei Fehler.
InformationsquelleAutor der Antwort Vladislav Rastrusny
Ich diesen code verwenden ...
oder...
InformationsquelleAutor der Antwort Hamed
InformationsquelleAutor der Antwort Ilya Yaremchuk