php递归删除目录的方法:首先利用opendir函数打开目录句柄;然后从目录句柄中读取条目,并利用readdir函数返回目录中下一个文件的文件名;最后依次删除目录,并关闭目录句柄即可。
相关函数:
opendir() 函数打开一个目录句柄,若成功,则该函数返回一个目录流,否则返回 false 以及一个 error。
(相关学习视频推荐:java视频教程)
closedir() 函数关闭目录句柄。
readdir() 函数返回目录中下一个文件的文件名。
代码示例:<?php
//递归删除目录
$path = "D:/a";
//调用递归函数
$res = diGUiRmDir($path);
//输出结果
var_dump($res);
function diGUiRmDir($path){
//打开目录句柄
$handle = opendir($path);
//readdir() 从目录句柄中读取条目
//返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回
while(false !== $filename = readdir($handle)){
if ($filename =='.' || $filename =='..') { //跳过 . ..文件夹
continue;
}
//判断是否为目录
if (is_dir($path.'/'.$filename)) {
$current_func = __FUNCTION__;
//是目录,递归删除
$current_func = ($path.'/'.$filename);
}else{
//是文件,删除
unlink($path.'/'.$filename); //unlink() 删除文件 返回bool
}
}
//目录删除完毕
closedir($handle); //关闭目录句柄
return rmdir($path); // 删除目录返回结果
}
相关推荐:php培训