PHP递归复制文件夹的类
分享一个PHP类,递归复制文件夹,直接上代码!
<?php
/*
* 文件夹复制类,
* 吴钧泽 2015年11月2日16点29分
* 博客:www.wujunze.com
*/
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');
?>
有技术含量,收藏,谢!
谢谢
觉得文章不错的留个言啊
你的代码写的不是很规范,方法跟类重名,设计需要重新考虑。该做判断的也没做判断。考虑封装原则成员属性最好为private属性。要成为一个专业的开发者任重而道远啊!