如何使用php中的rmdir函数删除目录文件

来源:不言 发布时间:2019-01-11 13:46:29 阅读量:819

php删除目录需要用到的函数是rmdir,rmdir是一个删除指定目录的函数,是一种常用函数,本篇文章我们就来看一下rmdir函数的具体用法。

我们先来看一下rmdir函数的基本语法

将目录名称(目录的路径)作为参数传递。

1

rmdir(目录名称);

如果由于没有指定目录而无法删除目录,请注意将发生e_warning级别错误。

此外,如果在rmdir中指定的目录内存在文件或其他目录,则在rmdir中无法删除指定的目录。

执行此操作时,必须清空指定的目录一次,然后使用rmdir再次删除该目录。

如何使用rmdir函数?

我们来看具体的示例

1

2

3

4

5

6

7

8

mkdir('sample');

if (is_dir('sample')) {

    $files = array_diff(scandir('sample'), array('.','..'));

    if (empty($files)) {

        echo "删除目录:sample\n";

        rmdir('sample');

    }

}

在示例程序中,首先使用mkdir函数创建示例目录。

在实际执行rmdir函数之前,必须检查“指定目录的存在”“指定的目录是否为空”。

如果不这样做,可能会在执行rmdir函数时导致错误。

删除非空目录

如果在rmdir中指定的目录内存在文件或其他目录,则在rmdir中无法删除指定的目录。

因此,如果要删除非空目录,则必须删除指定目录中的所有其他目录和文件,然后使用rmdir函数再次删除它们。

我们来看具体示例

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

//

function remove_directory($dir) {

    $files = array_diff(scandir($dir), array('.','..'));

    foreach ($files as $file) {

//

        if (is_dir("$dir/$file")) {

//

            remove_directory("$dir/$file");

        } else {

//

            unlink("$dir/$file");

            echo "目录:" . $dir . "/" . $file . "删除\n";

        }

    }

//

    echo "目录:" . $dir . "删除\n";

    return rmdir($dir);

}

//

//

mkdir('test1');

mkdir('test1/test2');

touch('test1/test2/test3');

//

//

remove_directory('test1');

在示例程序中,我们首先定义一个名为remove_directory的函数。

此remove_directory函数检查指定目录的内容,如果没有内容则删除指定的目录,如果有内容则根据内容更改处理。

在第三行中,您将获得指定目录中的文件组(另一个目录和文件),对于第4行到第14行中的每个文件组,使用unlink函数删除文件如果是目录,请再次调用remove_directory函数。

最后,在第17行,删除使用rmdir函数变为空的指定目录。

在第20-23行创建非空目录。

第26行使用remove_directory函数删除非空的目录。


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