当前位置:首页 > PHP教程 > php文件操作 > 列表

php删除目录与中文目录代码

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-28 10:56:38 浏览: 评论:0 

要删除目录我们必须先删除目录中的文件才行,在php中删除文件很简单unlink(),删除空目录使用rmdir即可.

例1,代码如下:

  1. function del_dir($dir){ 
  2. if (!$dir) { return ; } 
  3. $cacheDir = $dir
  4. $dh = opendir($cacheDir); 
  5. while ( $file = readdir($dh) ) { 
  6. //开源代码phpfensi.com 
  7. if (($file == '.') || ($file == '..')) { continue; } 
  8.  
  9. if (file_exists$cacheDir .'/'.$file)) { 
  10. if(is_dir$cacheDir .'/'.$file)){ 
  11. del_dir($cacheDir .'/'.$file); 
  12. }elseif (!unlink($cacheDir .'/'$file)) { 
  13.  
  14. //删除完操作 

例2,代码如下:

  1. function deldir($dir) { 
  2.   //先删除目录下的文件: 
  3.   $dh=opendir($dir); 
  4.   while ($file=readdir($dh)) { 
  5.     if($file!="." && $file!="..") { 
  6.       $fullpath=$dir."/".$file
  7.       if(!is_dir($fullpath)) { 
  8.           unlink($fullpath); 
  9.       } else { 
  10.           deldir($fullpath); 
  11.       } 
  12.     } 
  13.   } 
  14.  
  15.   closedir($dh); 
  16.   //删除当前文件夹: 
  17.   if(rmdir($dir)) { 
  18.     return true; 
  19.   } else { 
  20.     return false; 
  21.   } 
  22.  
  23. ?> 

例3,代码如下:

  1. function removeDir($dirName)  
  2. {  
  3.      if(!is_dir($dirName)) //如果传入的参数不是目录,则为文件,应将其删除 
  4.      {  
  5.      @unlink($dirName);//删除文件 
  6.        return false;  
  7.      }  
  8.      $handle = @opendir($dirName); //如果传入的参数是目录,则使用opendir将该目录打开,将返回的句柄赋值给$handle 
  9.      while(($file = @readdir($handle)) !== false) //这里明确地测试返回值是否全等于(值和类型都相同)FALSE,否则任何目录项的名称求值为 FALSE 的都会导致循环停止(例如一个目录名为“0”)。  
  10.      {  
  11.          if($file!='.'&&$file!='..'//在文件结构中,都会包含形如“.”和“..”的向上结构,但是它们不是文件或者文件夹 
  12.          { 
  13.          $dir = $dirName . '/' . $file//当前文件$dir为文件目录+文件 
  14.          is_dir($dir)?removeDir($dir):@unlink($dir); //判断$dir是否为目录,如果是目录则递归调用reMoveDir($dirName)函数,将其中的文件和目录都删除;如果不是目录,则删除该文件 
  15.          }  
  16.      }  
  17.      closedir($handle);  
  18.        
  19.      return rmdir($dirName) ;  

例4,删除几天前创建的目录,代码如下:

  1. function delfile($dir,$n//删除DIR路径下N天前创建的所有文件; 
  2. if(is_dir($dir)) 
  3.   { 
  4.  if($dh=opendir($dir)) 
  5.    { 
  6.     while (false !== ($file = readdir($dh)))  
  7.     { 
  8.      if($file!="." && $file!="..")  
  9.      { 
  10.        $fullpath=$dir."/".$file
  11.        if(!is_dir($fullpath))  
  12.        {             
  13.         $filedate=date("Y-m-d"filemtime($fullpath));  
  14.         $d1=strtotime(date("Y-m-d")); 
  15.         $d2=strtotime($filedate); 
  16.         $Days=round(($d1-$d2)/3600/24);  
  17.         if($Days>$n
  18.         unlink($fullpath);  ////删除文件 
  19.     
  20.          } 
  21.      }       
  22.     } 
  23.    } 
  24.    closedir($dh);  
  25.  } 
  26. ?> 

Tags: php删除目录 php删除中文目录

分享到: