php如何删除当前目录及其目录下的所有文件?(代码)

来源:不言 发布时间:2019-03-02 17:28:27 阅读量:765

本篇文章给大家带来的内容是关于php如何删除当前目录及其目录下的所有文件?(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

使用PHP遍历一个目录下的所有目录及文件,并删除该目录及其目录下的所有子目录和文件,本次代码通过递归的方式来实现。

用到的函数:

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

PHP代码:

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

28

29

30

31

32

/**

 * 删除当前目录及其目录下的所有目录和文件

 * @param string $path 待删除的目录

 * @note  $path路径结尾不要有斜杠/(例如:正确[$path='./static/image'],错误[$path='./static/image/'])

 */

function deleteDir($path) {

 

    if (is_dir($path)) {

        //扫描一个目录内的所有目录和文件并返回数组

        $dirs = scandir($path);

 

        foreach ($dirs as $dir) {

            //排除目录中的当前目录(.)和上一级目录(..)

            if ($dir != '.' && $dir != '..') {

                //如果是目录则递归子目录,继续操作

                $sonDir = $path.'/'.$dir;

                if (is_dir($sonDir)) {

                    //递归删除

                    deleteDir($sonDir);

 

                    //目录内的子目录和文件删除后删除空目录

                    @rmdir($sonDir);

                } else {

 

                    //如果是文件直接删除

                    @unlink($sonDir);

                }

            }

        }

        @rmdir($path);

    }

}


标签: PHP
分享:
评论:
你还没有登录,请先