当前位置:Gxlcms > PHP教程 > PHP递归复制整个文件夹

PHP递归复制整个文件夹

时间:2021-07-01 10:21:17 帮助过:5人阅读

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

人气教程排行