Home  >  Article  >  Backend Development  >  Detailed explanation of the class instance that implements recursive copying of the entire folder in PHP

Detailed explanation of the class instance that implements recursive copying of the entire folder in PHP

怪我咯
怪我咯Original
2017-07-05 10:25:431166browse

This article mainly introduces the class of PHP implementationRecursionCopying the entire folder involves PHP's recursive operation skills for files. It has certain reference value. Friends in need can refer to it

The example of this article describes the PHP class that implements recursive copying of the entire folder. Share it with everyone for your reference. The details are as follows:

<?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;);
?>

The above is the detailed content of Detailed explanation of the class instance that implements recursive copying of the entire folder in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn