PHP实现递归复制整个文件夹的类实例 |
|
本文标签: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程序设计有所帮助 。 |