如何使用PHP彻底删除指定目录下的所有子目录和文件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计275个文字,预计阅读时间需要2分钟。
php/** * 删除指定目录中的所有目录及文件 * 可扩展选项:是否删除原目录,文件类型筛选 * 文件操作谨慎使用 * @param string $dir 目录路径 * @param array $file_type 指定文件类型 */function deleteDir($dir, $file_type=null) { $files=scandir($dir); foreach ($files as $file) { if ($file !=. && $file !=..) { $fullpath=$dir . / . $file; if (is_dir($fullpath)) { deleteDir($fullpath, $file_type); } else { if ($file_type===null || in_array(pathinfo($fullpath, PATHINFO_EXTENSION), $file_type)) { unlink($fullpath); } } } } if (!isset($delete_original_dir)) { rmdir($dir); }}
<?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scandir($dir);//打开目录 //列出目录中的所有文件并去掉 . 和 .. foreach($files as $filename){ if($filename!='.' && $filename!='..'){ if(!is_dir($dir.'/'.$filename)){ if(empty($file_type)){ unlink($dir.'/'.$filename); }else{ if(is_array($file_type)){ //正则匹配指定文件 if(preg_match($file_type[0],$filename)){ unlink($dir.'/'.$filename); } }else{ //指定包含某些字符串的文件 if(false!=stristr($filename,$file_type)){ unlink($dir.'/'.$filename); } } } }else{ delFile($dir.'/'.$filename); rmdir($dir.'/'.$filename); } } } }else{ if(file_exists($dir)) unlink($dir); } } delFile(dirname(__FILE__),'html');
本文共计275个文字,预计阅读时间需要2分钟。
php/** * 删除指定目录中的所有目录及文件 * 可扩展选项:是否删除原目录,文件类型筛选 * 文件操作谨慎使用 * @param string $dir 目录路径 * @param array $file_type 指定文件类型 */function deleteDir($dir, $file_type=null) { $files=scandir($dir); foreach ($files as $file) { if ($file !=. && $file !=..) { $fullpath=$dir . / . $file; if (is_dir($fullpath)) { deleteDir($fullpath, $file_type); } else { if ($file_type===null || in_array(pathinfo($fullpath, PATHINFO_EXTENSION), $file_type)) { unlink($fullpath); } } } } if (!isset($delete_original_dir)) { rmdir($dir); }}
<?php /* * * 删除指定目录中的所有目录及文件(或者指定文件) * 可扩展增加一些选项(如是否删除原目录等) * 删除文件敏感操作谨慎使用 * @param $dir 目录路径 * @param array $file_type指定文件类型 */ function delFile($dir,$file_type='') { if(is_dir($dir)){ $files = scandir($dir);//打开目录 //列出目录中的所有文件并去掉 . 和 .. foreach($files as $filename){ if($filename!='.' && $filename!='..'){ if(!is_dir($dir.'/'.$filename)){ if(empty($file_type)){ unlink($dir.'/'.$filename); }else{ if(is_array($file_type)){ //正则匹配指定文件 if(preg_match($file_type[0],$filename)){ unlink($dir.'/'.$filename); } }else{ //指定包含某些字符串的文件 if(false!=stristr($filename,$file_type)){ unlink($dir.'/'.$filename); } } } }else{ delFile($dir.'/'.$filename); rmdir($dir.'/'.$filename); } } } }else{ if(file_exists($dir)) unlink($dir); } } delFile(dirname(__FILE__),'html');

