本文實例講述了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程序設計有所幫助。