注册 登陆

php删除目录 复制目录 判断目录是否为空

转载的http://www.phpx.com/happy/viewthread.php?tid=84709

 

  1. <?php  
  2. /*                                         *  
  3.   +---------------------------------------+  
  4.   | The function Of Delete Directory      |  
  5.   +---------------------------------------+  
  6.   | Author: Wang Bo                       |  
  7.   +---------------------------------------+  
  8.   | Email: [email]Misterwangbo@hotmail.com[/email]       |  
  9.   +---------------------------------------+  
  10.   | The Function May Delete File From     |  
  11.   | Your Appointed Directory              |  
  12.   | 因为前面的while语句已经判断了"."和".."两  |  
  13.   | 种情况. 所以因为指针的缘故可以直接用       |  
  14.   | if (readdir($handle) == false)判断目录 |  
  15.   | 是否为空                               |  
  16.   +---------------------------------------+  
  17.   | 调用方法:my_del_dir("目录名");         |  
  18.   +---------------------------------------+  
  19.   | Last Update: 2004-05-09               |  
  20.   +---------------------------------------+  
  21. *                                         */ 
  22. function my_del_dir($directory)  
  23. {  
  24.     if (is_dir($directory) == false)  
  25.     {  
  26.         exit("The Directory Is Not Exist!");  
  27.     }  
  28.     $handle = opendir($directory);  
  29.     while (($file = readdir($handle)) !== false)  
  30.     {  
  31.         if ($file != "." && $file != "..")  
  32.         {  
  33.             is_dir("$directory/$file")?  
  34.             my_del_dir("$directory/$file"):  
  35.             unlink("$directory/$file");  
  36.         }  
  37.     }  
  38.     if (readdir($handle) == false)  
  39.     {  
  40.         closedir($handle);  
  41.         rmdir($directory);  
  42.     }  
  43. }  
  44. ?>  
  1. <?php  
  2. /*                                         *  
  3.   +---------------------------------------+  
  4.   | The Function Of Copy Directory        |  
  5.   +---------------------------------------+  
  6.   | Author: Wang Bo                       |  
  7.   +---------------------------------------+  
  8.   | Email: [email]misterwangbo@hotmail.com[/email]       |  
  9.   +---------------------------------------+  
  10.   | The Function May Copy File From Your  |  
  11.   | Source Directory to Your Destinction  |  
  12.   | Directory.                            |  
  13.   +---------------------------------------+  
  14.   | Last Update: 2004-05-09               |  
  15.   +---------------------------------------+  
  16. *                                         */ 
  17. function my_copy_dir($source$destination)  
  18. {  
  19.     if (is_dir($source) == false)  
  20.     {  
  21.         exit("The Source Directory Is Not Exist!");  
  22.     }  
  23.     if (is_dir($source) == false)  
  24.     {  
  25.         mkdir($destination, 0700);  
  26.     }  
  27.     $handle=opendir($source);  
  28.     while (false !== ($file = readdir($handle)))  
  29.     {  
  30.         if ($file != "." && $file != "..")  
  31.         {  
  32.             is_dir("$source/$file")?  
  33.             my_copy_dir("$source/$file""$destination/$file"):  
  34.             copy("$source/$file""$destination/$file");  
  35.         }  
  36.     }  
  37.     closedir($handle);  
  38. }  
  39. ?>  
  1. <?php  
  2. /*                                         *  
  3.   +---------------------------------------+  
  4.   | 判断目录是否为空                        |  
  5.   +---------------------------------------+  
  6.   | Author: Wang Bo                       |  
  7.   +---------------------------------------+  
  8.   | Email: [email]Misterwangbo@hotmail.com[/email]       |  
  9.   +---------------------------------------+  
  10.   | 判断目录是否为空                        |  
  11.   +---------------------------------------+  
  12.   | Last Update: 2004-05-09               |  
  13.   +---------------------------------------+  
  14. *                                         */ 
  15. function my_judge_empty_dir($directory)  
  16. {  
  17.     $handle = opendir($directory);  
  18.     while (($file = readdir($handle)) !== false)  
  19.     {  
  20.         if ($file != "." && $file != "..")  
  21.         {  
  22.             closedir($handle);  
  23.             return false;  
  24.         }  
  25.     }  
  26.     closedir($handle);  
  27.     return true;  
  28. }  
  29. ?> 

 

  1. <?php  
  2. function copyDir($source$destination)  
  3. {  
  4.     $result = true;  
  5.  
  6.     if(! is_dir($source))  
  7.     {  
  8.         trigger_error("源目录名称错误", E_USER_ERROR);  
  9.     }  
  10.     if(! is_dir($destination))  
  11.     {  
  12.         if(! mkdir($destination, 0700))  
  13.         {  
  14.             trigger_error("无法创建目标目录", E_USER_ERROR);  
  15.         }  
  16.     }  
  17.  
  18.     $handle = opendir($source);  
  19.     while(($file = readdir($handle)) !== false)  
  20.     {  
  21.         if($file != '.' && $file != '..')  
  22.         {  
  23.             $src = $source . DIRECTORY_SEPARATOR . $file;  
  24.             $dtn = $destination . DIRECTORY_SEPARATOR . $file;  
  25.             if(is_dir($src))  
  26.             {  
  27.                 copyDir($src$dtn);  
  28.             }  
  29.             else 
  30.             {  
  31.                 if(! copy($src$dtn))  
  32.                 {  
  33.                     $result = false;  
  34.                     break;  
  35.                 }  
  36.             }  
  37.         }  
  38.     }  
  39.     closedir($handle);  
  40.  
  41.     return $result;  
  42. }  
  43. ?>  
  44.  

 

« 上一篇 | 下一篇 »

访客评论

JackFans
copyDir('D:\\jackfeng\\hj\\','D:\\www\\hj\\');
Post by 小锋 on 2008, November 20, 5:51 PM #1

发表评论

评论内容 (必填):