Maison >développement back-end >tutoriel php >Explication détaillée de l'instance de classe qui implémente la copie récursive de l'intégralité du dossier en PHP

Explication détaillée de l'instance de classe qui implémente la copie récursive de l'intégralité du dossier en PHP

怪我咯
怪我咯original
2017-07-05 10:25:431230parcourir

Cet article présente principalement la classe de PHP pour implémenter la récursion pour copier l'intégralité du dossier, impliquant les compétences d'opération récursive de PHP pour les fichiers, qui a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer

.

L'exemple de cet article décrit la classe PHP qui implémente la copie récursive d'un dossier entier. Partagez-le avec tout le monde pour votre référence. Les détails sont les suivants :

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

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn