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

前端技术 2023/09/02 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.\'/\'.$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(\'要复制谁\',\'复制到那\');
//$file = new CopyFile(\'aaaa/aaaaa\',\'bbbbb/bbbb\');
?>

希望本文所述对大家的php程序设计有所帮助。

本文地址:https://www.stayed.cn/item/5790

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。