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

  ?>

  第二个是从手册中翻出来的:)

  代码二:

  

复制代码 代码如下:

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

   }

  }

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

  代码三:

  

复制代码 代码如下:

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

  }

  ?>