PHP递归复制文件夹的类

作者:袖梨 2022-06-24

/*
 * 文件夹复制类,
 * 吴钧泽  2015年11月2日16点29分

 */
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('./10010','./10010copy');
?>

相关文章

精彩推荐