>  기사  >  백엔드 개발  >  PHP에서 다중 레벨 디렉토리를 삭제하는 방법

PHP에서 다중 레벨 디렉토리를 삭제하는 방법

coldplay.xixi
coldplay.xixi원래의
2020-09-28 14:32:292288검색

PHP에서 다중 레벨 디렉터리를 삭제하는 방법: deltree 함수를 사용하세요. 코드는 [function deltree($pathdir) if(is_empty_dir($pathdir)){rmdir($pathdir)}]입니다.

PHP에서 다중 레벨 디렉토리를 삭제하는 방법

PHP에서 다중 레벨 디렉토리를 삭제하는 방법:

deltree($path);rmdir($path)는 이 디렉토리를 삭제할 수 있습니다.

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)
{//判断目录是否为空,我的方法不是很好吧?只是看除了.和..之外有其他东西不是为空,PHP有没有给出什么
函数?
$d=opendir($pathdir);
$i=0;
    while($a=readdir($d))
    {
    $i++;
    }
closedir($d);
if($i>2){return false;}
else return true;
}

프로그래밍에 대해 더 자세히 알고 싶다면 비용을 지불하세요. 주목php Training 칼럼!

위 내용은 PHP에서 다중 레벨 디렉토리를 삭제하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.