So löschen Sie nicht leere Ordner in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei. Überprüfen Sie dann, ob sich Dateien oder Ordner im Verzeichnis befinden. Verwenden Sie anschließend das rekursive Löschen aller Dateien und Ordner im Verzeichnis.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, DELL G3-Computer.
PHP löscht nicht leere Verzeichnisse/Ordner
Bei Verwendung der PHP-eigenen Dateisystemfunktion rmdir() tritt beim Löschen eines Verzeichnisses häufig ein Problem auf, d. h. das zu löschende Verzeichnis muss leer sein, andernfalls wird ein Fehler gemeldet .
Um ein nicht leeres Verzeichnis zu löschen, prüfen Sie zunächst, ob sich Dateien oder Ordner im Verzeichnis befinden. Wenn ja, löschen Sie alle Dateien und Ordner im Verzeichnis und löschen Sie dann dieses Verzeichnis.
Die spezifischen Operationen sind wie folgt:
1. Funktionsdefinition
function deldir($dir) { $dh=opendir($dir); while ($file=readdir($dh)) { if($file!="." && $file!="..") { $fullpath=$dir."/".$file; if(!is_dir($fullpath)) { unlink($fullpath); } else { deldir($fullpath); } } } closedir($dh); if(rmdir($dir)) { return true; } else { return false; } }
Prinzipbeschreibung:
Überprüfen Sie zunächst, ob sich in diesem Verzeichnis eine Datei befindet, und rufen Sie diese auf Funktion zum Löschen. Wenn es sich um eine Datei handelt, rufen Sie die Verknüpfung direkt auf, um sie zu löschen, und löschen Sie schließlich dieses Verzeichnis.
Hinweis:
Stellen Sie sicher, dass Sie die Berechtigung zum Betreiben des Ordners haben
[Empfohlen:
PHP-Video-TutorialDas obige ist der detaillierte Inhalt vonSo löschen Sie nicht leere Ordner in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!