PHP实现递归复制整个文件夹的类实例


Posted in PHP onAugust 03, 2015

本文实例讲述了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程序设计有所帮助。

PHP 相关文章推荐
PHP文本数据库的搜索方法
Oct 09 PHP
mysql_fetch_assoc和mysql_fetch_row的功能加起来就是mysql_fetch_array
Jan 15 PHP
php性能优化分析工具XDebug 大型网站调试工具
May 22 PHP
php上传文件中文文件名乱码的解决方法
Nov 01 PHP
PHP加密扩展库Mcrypt安装和实例
Nov 10 PHP
php实现分页工具类分享
Jan 09 PHP
PHP循环遍历数组的3种方法list()、each()和while总结
Nov 19 PHP
php删除数组中重复元素的方法
Dec 22 PHP
PHP中的print_r 与 var_dump 输出数组
Jun 13 PHP
php文件上传、下载和删除示例
Aug 28 PHP
PHP设计模式(四)原型模式Prototype实例详解【创建型】
May 02 PHP
如何在PHP中使用数组
Jun 09 PHP
UTF-8正则表达式如何匹配汉字
Aug 03 #PHP
PHP使用缓存即时输出内容(output buffering)的方法
Aug 03 #PHP
php中ob函数缓冲机制深入理解
Aug 03 #PHP
如何利用http协议发布博客园博文评论
Aug 03 #PHP
在CentOS上搭建LAMP+vsftpd环境的简单指南
Aug 01 #PHP
如何使用php实现评委评分器
Jul 31 #PHP
php给图片加文字水印
Jul 31 #PHP
You might like
PHP的FTP学习(四)
2006/10/09 PHP
PHP图片上传类带图片显示
2006/11/25 PHP
php 字符串替换的方法
2012/01/10 PHP
ThinkPHP模板循环输出Volist标签用法实例详解
2016/03/23 PHP
经验几则 推荐
2006/09/05 Javascript
javascript中获取选中对象的类型
2007/04/02 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
JavaScript判断undefined类型的正确方法
2015/06/30 Javascript
Linux使用Node.js建立访问静态网页的服务实例详解
2017/03/21 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
解决Layui中templet中a的onclick参数传递的问题
2019/09/20 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
[00:16]热血竞技场
2019/03/06 DOTA
python 域名分析工具实现代码
2009/07/15 Python
python实现在pickling的时候压缩的方法
2014/09/25 Python
Python编程中对文件和存储器的读写示例
2016/01/25 Python
python实现稀疏矩阵示例代码
2017/06/09 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
下载官网python并安装的步骤详解
2019/10/12 Python
Python批量处理csv并保存过程解析
2020/05/16 Python
django template实现定义临时变量,自定义赋值、自增实例
2020/07/12 Python
python Paramiko使用示例
2020/09/21 Python
CSS3哪些新特性值得称赞
2016/03/02 HTML / CSS
eBay加拿大站:eBay.ca
2019/06/20 全球购物
高校毕业生登记表自我鉴定
2013/11/03 职场文书
财务管理个人自荐书范文
2013/11/24 职场文书
产品销售员岗位职责
2013/12/18 职场文书
成功经营餐厅的创业计划书范文
2013/12/26 职场文书
保安部任务及岗位职责
2014/02/25 职场文书
先进集体申报材料
2014/12/25 职场文书
大学运动会加油稿
2015/07/22 职场文书
干货:如何写好工作计划!
2019/05/17 职场文书
python中的被动信息搜集
2021/04/29 Python
idea编译器vue缩进报错问题场景分析
2021/07/04 Vue.js