欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-03-14 17:21:45
...
php删除目录需要用到的函数是rmdir,rmdir是一个删除指定目录的函数,是一种常用函数,本篇文章我们就来看一下rmdir函数的具体用法。

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

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

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

rmdir(目录名称);

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

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

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

如何使用rmdir函数?

我们来看具体的示例

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函数再次删除它们。

我们来看具体示例

//
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中的rmdir函数删除目录文件的详细内容,更多请关注其它相关文章!

相关标签: rmdir函数