首页 >后端开发 >php教程 >php 实现递归复制整个文件夹的类实例详解

php 实现递归复制整个文件夹的类实例详解

怪我咯
怪我咯原创
2017-07-05 10:25:431230浏览

这篇文章主要介绍了PHP实现递归复制整个文件夹的类,涉及php针对文件的递归操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP实现递归复制整个文件夹的类。分享给大家供大家参考。具体如下:

<?php
/*
 * 文件夹复制类
 */
class CopyFile
{
public $fromFile;
public $toFile;
/*
 * $fromFile 要复制谁
 * $toFile 复制到那
 */
function copyFile($fromFile,$toFile){
  $this->CreateFolder($toFile);
  $folder1=opendir($fromFile);
  while($f1=readdir($folder1)){
    if($f1!="." && $f1!=".."){
      $path2="{$fromFile}/{$f1}";
      if(is_file($path2)){  
        $file = $path2;
        $newfile = "{$toFile}/{$f1}";
        copy($file, $newfile);
      }elseif(is_dir($path2)){
        $toFiles = $toFile.&#39;/&#39;.$f1;
        $this->copyFile($path2,$toFiles);
      }
    }
  }
}
/*
 * 递归创建文件夹
 */
function CreateFolder($dir, $mode = 0777){
  if (is_dir($dir) || @mkdir($dir,$mode)){
    return true;
  }  
 if (!$this->CreateFolder(dirname($dir),$mode)){
   return false;
 }
  return @mkdir($dir, $mode);
}
}
//使用方法
//引入本类,直接new copyFile(&#39;要复制谁&#39;,&#39;复制到那&#39;);
//$file = new CopyFile(&#39;aaaa/aaaaa&#39;,&#39;bbbbb/bbbb&#39;);
?>

以上是php 实现递归复制整个文件夹的类实例详解的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn