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

来源:青灯夜游 发布时间:2020-05-13 09:34:18 阅读量:907

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

用到的函数:

  • scandir($path) 遍历一个文件夹所有文件并返回数组。

  • unlink($filename) 删除文件。

  • rmdir($path) 只删除空文件夹

代码:

删除单个文件

1

2

3

4

5

6

7

8

9

$file = "./aa/aas.txt";

if (!unlink($file))

{

    echo ("Error deleting $file");

}

else

{

    echo ("Deleted $file");

}

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

$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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

//设置需要删除的文件夹

$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
分享:
评论:
你还没有登录,请先