Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie ein Verzeichnis in PHP

So löschen Sie ein Verzeichnis in PHP

藏色散人
藏色散人Original
2021-10-29 09:17:094648Durchsuche

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.

So löschen Sie ein Verzeichnis in PHP

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 = &#39;./test&#39;;
    if(is_dir($dir)){
        if(rmdir($dir)) echo &#39;目录删除成功!&#39;;
    }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.&#39;/&#39;);
                        }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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn