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