>  기사  >  백엔드 개발  >  PHP에서 디렉토리를 삭제하는 여러 방법 요약

PHP에서 디렉토리를 삭제하는 여러 방법 요약

怪我咯
怪我咯원래의
2017-07-17 09:17:311557검색

이 글에서는 주로 다음과 같이 PHP에서 디렉토리를 삭제하는 여러 가지 방법을 소개합니다

1. 규정 전달

deleteDir($dir) 
{ 
 if (rmdir($dir)==false && is_dir($dir)) { 
  if ($dp = opendir($dir)) { 
   while (($file=readdir($dp)) != false) { 
    if (is_dir($file) && $file!='.' && $file!='..') { 
     deleteDir($file); 
    } else { 
     unlink($file); 
    } 
   } 
   closedir($dp); 
  } else { 
   exit('Not permission'); 
  } 
 }  
}

2. 시스템 호출 방식

function del_dir($dir) 
{ 
 if(strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') { 
     $str = "rmdir /s/q " . $dir; 
 } else { 
     $str = "rm -Rf " . $dir; 
 } 
}

3. Loopmethod

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;  

}

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

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