如何使用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函数删除目录文件的详细内容,更多请关注其它相关文章!
上一篇: php怎么删除两个数组中相同的数据
下一篇: PHP中PDO操作MySQL详解