首页  >  文章  >  后端开发  >  PHP如何删除一个路径下的所有文件夹和文件?

PHP如何删除一个路径下的所有文件夹和文件?

青灯夜游
青灯夜游转载
2020-05-04 10:59:202777浏览

PHP如何删除一个路径下的所有文件夹和文件?下面本篇文章给大家介绍一下PHP删除一个路径下的所有文件夹和文件的方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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

推荐学习:PHP视频教程

以上是PHP如何删除一个路径下的所有文件夹和文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:csdn.net。如有侵权,请联系admin@php.cn删除