首页 > php教程 > 正文

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

转载 2019-01-10 0 24
php删除目录需要用到的函数是rmdir,rmdir是一个删除指定目录的函数,是一种常用函数,本篇文章我们就来看一下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函数删除目录文件的详细内容,更多请关注qingjiuzhubei其它相关文章!

相关文章