PHP递归复制文件夹的类
复制文件夹是相当的复杂的一个过程了,我们需要先判断类型是文件还是目录,然后查找目录中是否还有目录了,下面我们来看一个关于PHP递归复制文件夹的类,希望例子能够帮助到各位.
- <?php
- /*
- * 文件夹复制类,
- * 吴钧泽 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;
- } //phpfensi.com
- if (!$this->CreateFolder(dirname($dir),$mode)){
- return false;
- }
- return @mkdir($dir, $mode);
- }
- }
- //使用方法
- //引入本类,直接new copyFile('要复制谁','复制到那');
- //$file = new CopyFile('./10010','./10010copy');
- ?>