Heim  >  Artikel  >  Backend-Entwicklung  >  So löschen Sie Verzeichnisse rekursiv in PHP

So löschen Sie Verzeichnisse rekursiv in PHP

藏色散人
藏色散人Original
2020-07-31 09:55:002599Durchsuche

So löschen Sie ein Verzeichnis in PHP: Erstellen Sie zuerst eine PHP-Beispieldatei. Rufen Sie dann den Pfad der Datei mit der Methode „DATA_DIR .‘/compiled/‘“ ab. und schließlich mit der rekursiven Methode Directory löschen.

So löschen Sie Verzeichnisse rekursiv in PHP

Empfohlen: „PHP-Video-Tutorial

PHP löscht Verzeichnisse rekursiv

Zunächst müssen Sie wissen, was Rekursion ist, damit Sie später rekursiven Code leicht lesen und schreiben können.

Der unten aufgeführte rekursive Code dient zum Löschen des Dateiverzeichnisses. Sie können geringfügige Änderungen vornehmen, um die Datei anzuzeigen. Und der Verzeichnis-

-Code lautet wie folgt:

public function clear(){
    $compile  = DATA_DIR .'/compiled/';  //指文件所在路径
    _rmdir($compile,1);
 }
// 列出文件和目录
function _scandir($dir) {
    if(function_exists('scandir')) return scandir($dir);   // 有些服务器禁用了scandir
    $dh = opendir($dir);
    $arr = array();
    while($file = readdir($dh)) {
        if($file == '.' || $file == '..') continue;
        $arr[] = $file;
    }
    closedir($dh);
    return $arr;
}
// 递归删除目录
function _rmdir($dir, $keepdir = 0) {
    if(!is_dir($dir) || $dir == '/' || $dir == '../') return FALSE;    // 避免意外删除整站数据
    $files = _scandir($dir);
    foreach($files as $file) {
        if($file == '.' || $file == '..') continue;
        $filepath = $dir.'/'.$file;
        if(!is_dir($filepath)) {
            try{unlink($filepath);}catch(Exception $e){}
        }else{
            _rmdir($filepath);
        }
    }
    if(!$keepdir) try{rmdir($dir);}catch(Exception $e){}
    return TRUE;
}

Das obige ist der detaillierte Inhalt vonSo löschen Sie Verzeichnisse rekursiv 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