本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在 PHP 中可以使用 rmdir() 函数来删除指定的目录,该函数的语法格式如下所示:
rmdir(string $dirname[, resource $context])
登录后复制
其中,参数 $dirname 为要删除的目录路径;$context 为可选参数,用来规定文件句柄的环境。
那么如果需要使用rmdir()删除一个非空目录,这要怎么做?
我们可以遍历这个目录下的所有文件和文件夹,并用递归的方式来逐个删除这个目录下的所有文件和文件夹,下面就通过示例代码来演示以下:
<?php function deldir($path){ //如果是目录则继续 if(is_dir($path)){ //扫描一个文件夹内的所有文件夹和文件并返回数组 $p = scandir($path); //如果 $p 中有两个以上的元素则说明当前 $path 不为空 if(count($p)>2){ foreach($p as $val){ //排除目录中的.和.. if($val !="." && $val !=".."){ //如果是目录则递归子目录,继续操作 if(is_dir($path.$val)){ //子目录中操作删除文件夹和文件 deldir($path.$val.'/'); }else{ //如果是文件直接删除 unlink($path.$val); } } } } } //删除目录 return rmdir($path); } //设置需要删除的文件夹 $path = "./test/"; //调用函数,传入路径 deldir($path); ?>
登录后复制
说明:
scandir() 函数返回包含指定目录中所有文件和目录的数组,
推荐学习:《PHP视频教程》
以上就是php rmdir()怎么删除非空目录的详细内容,更多请关注Work网其它相关文章!