删除多级目录的php自定义函数

发布时间:2019-10-14编辑:脚本学堂
为大家提供一个可以删除多级目录的php自定义函数,递归删除目录及子目录下的文件,有需要的朋友,可以参考下。

删除多级目录的函数。
 

复制代码 代码示例:

<?php
/**
by www.jb200.com 2013-3-22
*/
function deltree($pathdir)
{
echo $pathdir;//我调试时用的

if(is_empty_dir($pathdir))//如果是空的
{
rmdir($pathdir);//直接删除
}
else
{//否则读这个目录,除了.和..外
$d=dir($pathdir);
while($a=$d->read())
{
if(is_file($pathdir.'/'.$a) && ($a!='.') && ($a!='..')){unlink($pathdir.'/'.$a);}
//如果是文件就直接删除
if(is_dir($pathdir.'/'.$a) && ($a!='.') && ($a!='..'))
{//如果是目录
if(!is_empty_dir($pathdir.'/'.$a))//是否为空
{//如果不是,调用自身,不过是原来的路径+他下级的目录名
deltree($pathdir.'/'.$a);
}
if(is_empty_dir($pathdir.'/'.$a))
{//如果是空就直接删除
rmdir($pathdir.'/'.$a);
}
}
}
$d->close();

echo "必须先删除目录下的所有文件";//调试

}

}

function is_empty_dir($pathdir)
{//判断目录是否为空
$d=opendir($pathdir);
$i=0;
while($a=readdir($d))
{
$i++;
}
closedir($d);
if($i>2){return false;}
else return true;
}
?>