当前位置:首页 > PHP教程 > php类库 > 列表

PHP实现递归复制整个文件夹的类实例

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-15 17:15:17 浏览: 评论:0 

这篇文章主要介绍了PHP实现递归复制整个文件夹的类,涉及php针对文件的递归操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下,本文实例讲述了PHP实现递归复制整个文件夹的类,分享给大家供大家参考,具体如下:

  1. <?php 
  2. /* 
  3.  * 文件夹复制类 
  4.  */ 
  5. class CopyFile 
  6. { 
  7. public $fromFile; 
  8. public $toFile; 
  9. /* 
  10.  * $fromFile 要复制谁 
  11.  * $toFile 复制到那 
  12.  */ 
  13. function copyFile($fromFile,$toFile){ 
  14.   $this->CreateFolder($toFile); 
  15.   $folder1=opendir($fromFile); 
  16.   while($f1=readdir($folder1)){ 
  17.     if($f1!="." && $f1!=".."){ 
  18.       $path2="{$fromFile}/{$f1}"; 
  19.       if(is_file($path2)){   
  20.         $file = $path2; 
  21.         $newfile = "{$toFile}/{$f1}"; 
  22.         copy($file, $newfile); 
  23.       }elseif(is_dir($path2)){ 
  24.         $toFiles = $toFile.'/'.$f1; 
  25.         $this->copyFile($path2,$toFiles); 
  26.       } 
  27.     } 
  28.   } 
  29. } 
  30. /* 
  31.  * 递归创建文件夹 
  32.  */ 
  33. function CreateFolder($dir, $mode = 0777){ 
  34.   if (is_dir($dir) || @mkdir($dir,$mode)){ 
  35.     return true; 
  36.   }   
  37.  if (!$this->CreateFolder(dirname($dir),$mode)){ 
  38.    return false; 
  39.  } 
  40.   return @mkdir($dir, $mode); 
  41. } 
  42. } 
  43. //使用方法 
  44. //引入本类,直接new copyFile('要复制谁','复制到那'); 
  45. //$file = new CopyFile('aaaa/aaaaa','bbbbb/bbbb'); 
  46. ?> 

希望本文所述对大家的php程序设计有所帮助。

Tags: PHP递归文件夹

分享到: