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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
使用session判断用户登录用户权限(超简单)
Jun 08 PHP
使用PHP导出Word文档的原理和实例
Oct 21 PHP
解决nginx不支持thinkphp中pathinfo的问题
Jul 21 PHP
PHP编程入门的基本语法知识点总结
Jan 26 PHP
php数组冒泡排序算法实例
May 06 PHP
PHP实现的多文件上传类及用法示例
May 06 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
laravel中的错误与日志用法详解
Jul 26 PHP
php intval函数用法总结
Apr 14 PHP
laravel 关联关系遍历数组的例子
Oct 10 PHP
用Laravel轻松处理千万级数据的方法实现
Dec 25 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程序的国际化实现方法(利用gettext)
2011/08/14 PHP
Java中final关键字详解
2015/08/10 PHP
广告显示判断
2006/08/31 Javascript
innerHTML,outerHTML,innerTEXT三者之间的区别
2007/01/28 Javascript
javascript据option的value值快速设定初始的selected选项
2007/08/13 Javascript
jQuery 获取兄弟元素的几种不错方法
2014/05/23 Javascript
Extjs grid panel自带滚动条失效的解决方法
2014/09/11 Javascript
原生javascript实现获取指定元素下所有后代元素的方法
2014/10/28 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
js实现简单锁屏功能实例
2015/05/27 Javascript
基于JavaScript实现全屏透明遮罩div层锁屏效果
2016/01/26 Javascript
AngularJS轻松实现双击排序的功能
2016/08/30 Javascript
AngularJS服务service用法总结
2016/12/13 Javascript
JavaScript实现格式化字符串函数String.format
2016/12/16 Javascript
easyui datebox 时间限制,datebox开始时间限制结束时间,datebox截止日期比起始日期大的实现代码
2017/01/12 Javascript
Nodejs实现多房间简易聊天室功能
2017/06/20 NodeJs
angularjs路由传值$routeParams详解
2020/09/05 Javascript
[06:04]DOTA2英雄梦之声Vol19卓尔游侠
2014/06/20 DOTA
Python strip lstrip rstrip使用方法
2008/09/06 Python
python基础教程之常用运算符
2014/08/29 Python
Python入门篇之对象类型
2014/10/17 Python
django 常用orm操作详解
2017/09/13 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
值得收藏的10道python 面试题
2019/04/15 Python
解决python脚本中error: unrecognized arguments: True错误
2020/04/20 Python
TCP/IP的分层模型
2013/10/27 面试题
暖通工程师岗位职责
2014/06/12 职场文书
解除施工合同协议书
2014/10/17 职场文书
公司行政助理岗位职责
2015/04/11 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
培训学校2015年度工作总结
2015/07/20 职场文书
党员干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
创业计划书之甜品店
2019/09/18 职场文书
导游词之湖州-太湖
2019/10/11 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android