PHP删除非空目录的三个函数

发布时间:2020-04-16编辑:脚本学堂
本文分享下,php编程中用于删除非空目录的三个小函数,有自己写的,也有php手册上的,有需要的朋友可以参考下。

本节内容:
PHP删除非空目录的函数。

分享三个删除非空目录的php函数,有自己写的,有php手册上摘抄的,也有网友推荐的,总之,分享在此,供朋友们参考啦。

方法一,
 

复制代码 代码示例:
<?php
function d_rmdir($dirname) {   //删除非空目录
if(!is_dir($dirname)) {
return false;
} // www.jb200.com
$handle = @opendir($dirname);
while(($file = @readdir($handle)) !== false){
if($file != '.' && $file != '..'){
$dir = $dirname . '/' . $file;
is_dir($dir) ? d_rmdir($dir) : unlink($dir);
}
}
closedir($handle);
return rmdir($dirname) ;
}
if(d_rmdir("./temp"))
 echo "succes";
else
 echo "false";
?>

方法二,php手册上找到的。
 

复制代码 代码示例:
<?php
//删除非空目录 
functionremove_directory($dir){
 if($handle=opendir("$dir")){
 while(false!==($item=readdir($handle))){
  if($item!="."&&$item!=".."){
   if(is_dir("$dir/$item")){
    remove_directory("$dir/$item");
   }else{
    unlink("$dir/$item");
    echo"removing$dir/$item<br> ";
   }
  }
 }
 closedir($handle);
 rmdir($dir);
 echo"removing$dir<br> ";
 }
}

方法三,
 

复制代码 代码示例:
<?php
//网友提供的删除非空目录的函数
functionremoveDir($dirName)
{
  if(!is_dir($dirName))
  {
    returnfalse;
  }
  $handle=@opendir($dirName);
  while(($file=@readdir($handle))!==false)
  {
    if($file!='.'&&$file!='..')
    {
      $dir=$dirName.'/'.$file;
      is_dir($dir)?removeDir($dir):@unlink($dir);
    }
  }
  closedir($handle);  
  returnrmdir($dirName);
}
?>