So löschen Sie ein Verzeichnis in PHP: 1. Erstellen Sie eine PHP-Beispieldatei. 2. Suchen Sie das Verzeichnis, das gelöscht werden muss. 3. Verwenden Sie die Funktion rmdir(), um das angegebene Verzeichnis zu löschen.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie lösche ich ein Verzeichnis mit PHP?
PHP rmdir(): Löschen Sie ein Verzeichnis
Ähnlich wie Normale Dateien, wenn Sie eine bestimmte bestätigen, wird dieses Verzeichnis nicht mehr verwendet, sodass Sie dieses Verzeichnis löschen können. In PHP können Sie die Funktion rmdir() verwenden, um ein bestimmtes Verzeichnis zu löschen. Das Syntaxformat dieser Funktion ist wie folgt:
rmdir(string $dirname[, resource $context])
Dabei ist der Parameter $dirname der zu löschende Verzeichnispfad; Parameter, der zum Angeben der Dateiumgebung des Handles verwendet wird.
Hinweis: Wenn Sie die Funktion rmdir() zum Löschen eines angegebenen Verzeichnisses verwenden, muss das Verzeichnis leer sein und über entsprechende Berechtigungen verfügen. TRUE wird zurückgegeben, wenn die Funktion erfolgreich ausgeführt wurde, und FALSE wird zurückgegeben, wenn die Ausführung fehlschlägt. Wenn ein nicht leeres Verzeichnis gelöscht wird, wird ein Fehler der Ebene E_WERNING generiert.
【Beispiel】Verwenden Sie die Funktion rmdir(), um das angegebene Verzeichnis zu löschen.
<?php $dir = './test'; if(is_dir($dir)){ if(rmdir($dir)) echo '目录删除成功!'; }else{ echo "目录不存在!"; } ?>
Um den obigen Code auszuführen, stellen Sie zunächst sicher, dass das Testverzeichnis leer ist, andernfalls erscheint die folgende Fehlermeldung:
Warning: rmdir(./test): Directory not empty in D:\WWW\index.php on line 4
Was soll ich tun, wenn ich ein Verzeichnis löschen möchte, das nicht leer ist? Wir können alle Dateien und Ordner in diesem Verzeichnis durchlaufen und alle Dateien und Ordner in diesem Verzeichnis einzeln rekursiv löschen. Das Folgende wird durch Beispielcode demonstriert:
<?php function deldir($path){ //如果是目录则继续 if(is_dir($path)){ //扫描一个文件夹内的所有文件夹和文件并返回数组 $p = scandir($path); //如果 $p 中有两个以上的元素则说明当前 $path 不为空 if(count($p)>2){ foreach($p as $val){ //排除目录中的.和.. if($val !="." && $val !=".."){ //如果是目录则递归子目录,继续操作 if(is_dir($path.$val)){ //子目录中操作删除文件夹和文件 deldir($path.$val.'/'); }else{ //如果是文件直接删除 unlink($path.$val); } } } } } //删除目录 return rmdir($path); } //设置需要删除的文件夹 $path = "./test/"; //调用函数,传入路径 deldir($path); ?>
Empfohlenes Lernen: „PHP-Video-Tutorial 》
Das obige ist der detaillierte Inhalt vonSo löschen Sie ein Verzeichnis in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!