|  在技术加营销的道路上越走越远
温馨提示
我是弹窗内容
当前位置:首页 > PHP经验积累 > PHP删除一个路径下的所有文件夹和文件的两种方法
PHP删除一个路径下的所有文件夹和文件的两种方法

PHP删除一个路径下的所有文件夹和文件的两种方法

日期:2020-05-14 浏览量:566 原创作者:湖八爷
记录一下PHP中常用的一个功能点,删除一个指定路径下所有文件夹和文件的两种方法。


用到的函数:

scandir($path) 遍历一个文件夹所有文件并返回数组。
unlink($filename) 删除文件。
rmdir($path) 只删除空文件夹。



删除单个文件

$file = "./aa/aas.txt";
if (!unlink($file)) {
   echo ("Error deleting $file");
} else {
   echo ("Deleted $file");
}



删除一个路径下的所有文件夹和文件的方法1

$path = "./aa";
function deleteDir($dir){
   if (!$handle = @opendir($dir)) {
       return false;
   }
   while (false !== ($file = readdir($handle))) {
       if ($file !== "." && $file !== "..") {       //排除当前目录与父级目录
           $file = $dir . '/' . $file;
           if (is_dir($file)) {
               deleteDir($file);
           } else {
               @unlink($file);
           }
       }
   }
   @rmdir($dir);
}
deleteDir($path);



删除一个路径下的所有文件夹和文件的方法2:

//设置需要删除的文件夹
$path = "./aa";
//清空文件夹函数和清空文件夹后删除空文件夹函数的处理
function deldir($path){
  //如果是目录则继续
  if(is_dir($path)){
   //扫描一个文件夹内的所有文件夹和文件并返回数组
      $p = scandir($path);
      foreach($p as $val){
       //排除目录中的.和..
       if($val !="." && $val !=".."){
        //如果是目录则递归子目录,继续操作
           if(is_dir($path.'/'.$val)){
             //子目录中操作删除文件夹和文件
             deldir($path.'/'.$val);
             //目录清空后删除空文件夹
             @rmdir($path.'/'.$val);
           }else{
             //如果是文件直接删除
             unlink($path.'/'.$val);
           }
       }
      }
   }
 }
//调用函数,传入路径
deldir($path);