Heim > Backend-Entwicklung > PHP-Problem > So erzwingen Sie das Löschen des PHP-RMDIR

So erzwingen Sie das Löschen des PHP-RMDIR

藏色散人
Freigeben: 2023-03-04 22:28:02
Original
4328 Leute haben es durchsucht

So erzwingen Sie das Löschen mit PHP RMDIR: Stellen Sie zunächst fest, ob das Verzeichnis vorhanden ist, und geben Sie dann die Verzeichnisressourcen zurück. Durchsuchen Sie dann das Verzeichnis und lesen Sie die Dateien oder Ordner im Verzeichnis aus Verwenden Sie die Methode „rmdir($directory);“, um leere Verzeichnisse zu löschen.

So erzwingen Sie das Löschen des PHP-RMDIR

Empfohlen: „PHP-Video-Tutorial

php rmdir verwendet eine rekursive Funktion, um nicht leere Verzeichnisse zu löschen

Wir alle wissen, dass die PHP-Funktion rmdir() zum Löschen leerer Verzeichnisse verwendet wird. Wenn Sie jedoch nicht leere Verzeichnisse löschen möchten, müssen wir Dateien oder Unterverzeichnisse in nicht leeren Verzeichnissen löschen. In diesem Artikel wird erläutert, wie Sie in Bedarfsfällen rekursive PHP-Funktionen verwenden können.

Zunächst möchte ich Ihnen die Funktion rmdir() vorstellen.

php rmdir()-Funktion

rmdir – leeres Verzeichnis löschen

Syntax:

bool rmdir ( string $dirname [, resource $context ] )
Nach dem Login kopieren

Versuchen Sie, das durch dirname angegebene Verzeichnis zu löschen. Das Verzeichnis muss leer sein und über entsprechende Berechtigungen verfügen. Bei einem Fehler wird ein Fehler der Stufe E_WARNING generiert.

Parameter:

Verzeichnisname: Der Pfad zum Verzeichnis.

Kontext: Unterstützung für Kontext in PHP 5.0.0 hinzugefügt.

php rmdir() löscht ein nicht leeres Verzeichnis

Wie oben erwähnt, kann die Funktion rmdir() nur leere Verzeichnisse löschen. Wenn es sich um ein nicht leeres Verzeichnis handelt, müssen Sie zuerst das Verzeichnis eingeben und verwenden Funktion unlink() zum Löschen des Verzeichnisses. Löschen Sie dann alle Dateien, kehren Sie dann zurück und löschen Sie das leere Verzeichnis. Wenn das Verzeichnis Unterverzeichnisse enthält und das Verzeichnis nicht leer ist, müssen Sie die rekursive Methode verwenden. Der Quellcode der benutzerdefinierten rekursiven Funktion zum Löschen eines Verzeichnisses lautet wie folgt:

<?php  
/* by http://www.manongjc.com/article/27.html*/  
function delDir($directory){//自定义函数递归的函数整个目录  
    if(file_exists($directory)){//判断目录是否存在,如果不存在rmdir()函数会出错  
        if($dir_handle=@opendir($directory)){//打开目录返回目录资源,并判断是否成功  
            while($filename=readdir($dir_handle)){//遍历目录,读出目录中的文件或文件夹  
                if($filename!=&#39;.&#39; && $filename!=&#39;..&#39;){//一定要排除两个特殊的目录  
                    $subFile=$directory."/".$filename;//将目录下的文件与当前目录相连  
                    if(is_dir($subFile)){//如果是目录条件则成了  
                        delDir($subFile);//递归调用自己删除子目录  
                    }  
                    if(is_file($subFile)){//如果是文件条件则成立  
                        unlink($subFile);//直接删除这个文件  
                    }  
                }  
            }  
            closedir($dir_handle);//关闭目录资源  
            rmdir($directory);//删除空目录  
        }  
    }  
}  
  
delDir("mydir");//调用delDir函数  
  
?>
Nach dem Login kopieren

Zusätzlich zur Verarbeitung des rekursiven Löschens nicht leerer Verzeichnisse können wir auch den Betriebssystembefehl „rm -rf“ verwenden, um nicht leere Verzeichnisse zu löschen , aber wir müssen auch Sicherheits- und plattformübergreifende Aspekte berücksichtigen. Versuchen Sie, es nicht zu verwenden.

Das obige ist der detaillierte Inhalt vonSo erzwingen Sie das Löschen des PHP-RMDIR. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage