PHP删除非空目录的函数代码小结

yipeiwu_com6年前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);
}
?>

相关文章

深入讲解PHP的对象注入(Object Injection)

深入讲解PHP的对象注入(Object Injection)

前言 虽然这篇文章叫做PHP对象注入,但是本质上还是和PHP的序列化的不正确使用有关。如果你阅读了PHP中的SESSION反序列化机制对序列化就会有一个大致的认识。PHP对象注入其实本质...

PHP CLI模式下的多进程应用分析

PHP在很多时候不适合做常驻的SHELL进程, 他没有专门的gc例程, 也没有有效的内存管理途径. 所以如果用PHP做常驻SHELL, 你会经常被内存耗尽导致abort而unhappy....

PHP删除指定目录中的所有目录及文件的方法

本文实例讲述了PHP删除指定目录中的所有目录及文件的方法。分享给大家供大家参考。具体实现方法如下: <?php /* * * 删除指定目录中的所有目录及文件(或者...

php一个找二层目录的小东东

php版 复制代码 代码如下: <?php set_time_limit(0); $path = 'D:/Hosting'; $somefile = $_GET['key']; $...

PHP输出XML格式数据的方法总结

PHP输出XML格式数据的方法总结

本文实例讲述了PHP输出XML格式数据的方法。分享给大家供大家参考,具体如下: 方法1: <?php header("Content-type: text/xml");...