Maison  >  Article  >  développement back-end  >  Résumé de plusieurs méthodes pour supprimer des répertoires sous php

Résumé de plusieurs méthodes pour supprimer des répertoires sous php

怪我咯
怪我咯original
2017-07-17 09:17:311606parcourir

Cet article présente principalement plusieurs méthodes pour supprimer des répertoires sous PHP, comme suit

1. Remise du règlement

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. Méthode d'appel système

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

3. BoucleMéthode

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;  

}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn