您的位置:首页 > 编程语言 > PHP开发

PHP递归复制整个文件夹

2012-08-02 00:00 211 查看
<?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');

?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息