PHP实现递归复制整个文件夹的类实例
这篇文章主要介绍了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程序设计有所帮助。