Heim  >  Artikel  >  Backend-Entwicklung  >  PHP-Entwicklungsfähigkeiten (5) – Codefall zum rekursiven Löschen von Ordnern

PHP-Entwicklungsfähigkeiten (5) – Codefall zum rekursiven Löschen von Ordnern

黄舟
黄舟Original
2017-03-10 18:43:581165Durchsuche

In vielen Fällen müssen wir während unseres Entwicklungsprozesses Dateien auf der Festplatte direkt bearbeiten, was bei der Programmierung unvermeidlich ist. Der folgende Code stellt vor, wie Dateien auf der Festplatte rekursiv gelöscht werden:

<?php  
  
/** 
 * ======================================= 
 * Created by Zhihua_W. 
 * Author: Zhihua_W 
 * Date: 2016/12/3 0005 
 * Time: 下午 5:21 
 * Project: PHP开发小技巧 
 * Power: 实现递归删除文件夹 
 * ======================================= 
 */  
  
/** 
 * 递归删除文件夹 
 * @param $dir 文件夹路径 
 * @param string $file_type 
 */  
function delFile($dir, $file_type = &#39;&#39;)  
{  
    if (is_dir($dir)) {  
        $files = scandir($dir);  
        //打开目录  
        //列出目录中的所有文件并去掉 . 和 ..  
        foreach ($files as $filename) {  
            if ($filename != &#39;.&#39; && $filename != &#39;..&#39;) {  
                if (!is_dir($dir . &#39;/&#39; . $filename)) {  
                    if (empty($file_type)) {  
                        unlink($dir . &#39;/&#39; . $filename);  
                    } else {  
                        if (is_array($file_type)) {  
                            //正则匹配指定文件  
                            if (preg_match($file_type[0], $filename)) {  
                                unlink($dir . &#39;/&#39; . $filename);  
                            }  
                        } else {  
                            //指定包含某些字符串的文件  
                            if (false != stristr($filename, $file_type)) {  
                                unlink($dir . &#39;/&#39; . $filename);  
                            }  
                        }  
                    }  
                } else {  
                    delFile($dir . &#39;/&#39; . $filename);  
                    rmdir($dir . &#39;/&#39; . $filename);  
                }  
            }  
        }  
    } else {  
        if (file_exists($dir)) unlink($dir);  
    }  
}

Sie müssen nur den Pfad der Datei angeben, um alle Dateien unter der Datei zu löschen. Sie können es selbst ausprobieren......

Das obige ist der detaillierte Inhalt vonPHP-Entwicklungsfähigkeiten (5) – Codefall zum rekursiven Löschen von Ordnern. 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