Maison  >  Article  >  développement back-end  >  Conseils de développement PHP (5) - Cas de code pour la suppression récursive de dossiers

Conseils de développement PHP (5) - Cas de code pour la suppression récursive de dossiers

黄舟
黄舟original
2017-03-10 18:43:581245parcourir

Dans de nombreux cas, au cours de notre processus de développement, nous devons exploiter directement les fichiers sur le disque, ce qui est inévitable en programmation. Le code suivant présente comment supprimer de manière récursive des fichiers sur le disque :

<?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);  
    }  
}

. Il vous suffit de transmettre le chemin du fichier pour supprimer tous les fichiers sous le fichier. Vous pouvez l'essayer vous-même......

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn