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

这篇文章主要介绍了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程序设计有所帮助。