删除目录-包括下面的子目录和文件
时间:2007-05-22 来源:mosquito_2006
/*
方法功能:删除目录
方法名称:delDir
@parame: $dir-要删除的目录名称
retrun: true-删除成功;false-删除失败
*/
function delDir($dir){
//判断目录是否为空
if($this->isEmptyDir($dir))
{
//目录为空,直接删除
$fg = rmdir($dir);
if($fg)
{
return true;
}
else
{
return false;
}
}
else
{
//读取这个目录的下一级
$d = dir($dir);
while($a = $d->read())
{
//是文件则直接删除
if(is_file($dir.'/'.$a) && ($a != ".") && ($a != ".."))
{
unlink($dir.'/'.$a);
}
//是目录
if(is_dir($dir.'/'.$a) && ($a != ".") && ($a != ".."))
{
//是目录且不为空
if(!$this->isEmptyDir($dir.'/'.$a))
{
$this->delDir($dir.'/'.$a);
}
//是目录且为空
if($this->isEmptyDir($dir.'/'.$a))
{
rmdir($dir.'/'.$a);
}
}
}
$d->close();
}
}
/*
方法功能:判断目录是否为空
方法名称:isEmptyDir()
@parame: $dir-要判断的目录
return: ture-为空;false-不为空
*/
function isEmptyDir($dir){
$d = opendir($dir);
$i = 0;
while($a = readdir($d))
{
$i++;
}
closedir($d);
if($i > 2)
{
return false;
}
else
{
return true;
}
}
方法功能:删除目录
方法名称:delDir
@parame: $dir-要删除的目录名称
retrun: true-删除成功;false-删除失败
*/
function delDir($dir){
//判断目录是否为空
if($this->isEmptyDir($dir))
{
//目录为空,直接删除
$fg = rmdir($dir);
if($fg)
{
return true;
}
else
{
return false;
}
}
else
{
//读取这个目录的下一级
$d = dir($dir);
while($a = $d->read())
{
//是文件则直接删除
if(is_file($dir.'/'.$a) && ($a != ".") && ($a != ".."))
{
unlink($dir.'/'.$a);
}
//是目录
if(is_dir($dir.'/'.$a) && ($a != ".") && ($a != ".."))
{
//是目录且不为空
if(!$this->isEmptyDir($dir.'/'.$a))
{
$this->delDir($dir.'/'.$a);
}
//是目录且为空
if($this->isEmptyDir($dir.'/'.$a))
{
rmdir($dir.'/'.$a);
}
}
}
$d->close();
}
}
/*
方法功能:判断目录是否为空
方法名称:isEmptyDir()
@parame: $dir-要判断的目录
return: ture-为空;false-不为空
*/
function isEmptyDir($dir){
$d = opendir($dir);
$i = 0;
while($a = readdir($d))
{
$i++;
}
closedir($d);
if($i > 2)
{
return false;
}
else
{
return true;
}
}
相关阅读 更多 +
排行榜 更多 +