PHP删除非空目录的三种方法(代码分享)

PHP中对于处理文件的操作函数有许多,本文分享一个删除非空目录的函数方法。
有了这个小程序,PHPer就不用手动进行删除计算机上的目录文件了,在练习PHP目录文件操作时就可以用这个函数,在这个基础上还可以增加浏览文件夹目录,然后进行删除。

代码一:

<?php

 //删除非空目录

function d_rmdir($dirname) {

if(!is_dir($dirname)) {

return false;

}

$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";

//by www.jbxue.com

?>

代码二,来自php中文在线手册

<?php

//删除非空目录 

//by www.jbxue.com

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> ";

 }

}

?>

第三个是codebit.cn上面收集的,还是手册里的好

代码三:

<?php

//删除非空目录

//by www.jbxue.com

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);

}

?>

你可能感兴趣的:(PHP)