VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > PHP >
  • php删除目录与中文目录代码

要删除目录我们必须先删除目录中的文件才行,在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.  
  2. function deldir($dir) { 
  3.   //先删除目录下的文件: 
  4.   $dh=opendir($dir); 
  5.   while ($file=readdir($dh)) { 
  6.     if($file!="." && $file!="..") { 
  7.       $fullpath=$dir."/".$file
  8.       if(!is_dir($fullpath)) { 
  9.           unlink($fullpath); 
  10.       } else { 
  11.           deldir($fullpath); 
  12.       } 
  13.     } 
  14.   } 
  15.  
  16.   closedir($dh); 
  17.   //删除当前文件夹: 
  18.   if(rmdir($dir)) { 
  19.     return true; 
  20.   } else { 
  21.     return false; 
  22.   } 
  23.  
  24. ?> 

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

出处:http://www.phpfensi.com/php/20140828/4919.html


相关教程