欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-06-20 23:33:48
本文实例讲述了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程序设计有所帮助。