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 相关文章推荐
phpMyAdmin 安装教程全攻略
Mar 19 PHP
PHP 判断常量,变量和函数是否存在
Apr 26 PHP
web server使用php生成web页面的三种方法总结
Oct 28 PHP
php根据isbn书号查询amazon网站上的图书信息的示例
Feb 13 PHP
php+xml实现在线英文词典查询的方法
Jan 23 PHP
php+ajax实现无刷新的新闻留言系统
Dec 21 PHP
centos+php+coreseek+sphinx+mysql之一coreseek安装篇
Oct 25 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
Yii2中datetime类的使用
Dec 17 PHP
visual studio code 调试php方法(图文详解)
Sep 15 PHP
php实现微信公众平台发红包功能
Jun 14 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 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 和 MySQL 基础教程(四)
2006/10/09 PHP
php+mysql实现简单登录注册修改密码网页
2016/11/30 PHP
php微信公众号开发之简答题
2018/10/20 PHP
javascript中的变量是传值还是传址的?
2010/04/19 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
JavaScript极简入门教程(三):数组
2014/10/25 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
JS实现仿QQ效果的三级竖向菜单
2015/09/25 Javascript
javascript实现根据汉字获取简拼
2016/09/25 Javascript
微信小程序开发之数据存储 参数传递 数据缓存
2017/04/13 Javascript
Angular4 中常用的指令入门总结
2017/06/12 Javascript
Vue0.1的过滤代码如何添加到Vue2.0直接使用
2017/08/23 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
微信小程序实现订单倒计时
2020/11/01 Javascript
Node.js API详解之 console模块用法详解
2020/05/12 Javascript
Vue绑定用户接口实现代码示例
2020/11/04 Javascript
[59:00]DOTA2-DPC中国联赛 正赛 Ehome vs PSG.LGD BO3 第一场 3月7日
2021/03/11 DOTA
寻找网站后台地址的python脚本
2014/09/01 Python
Python中的闭包详细介绍和实例
2014/11/21 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
Flask框架 CSRF 保护实现方法详解
2019/10/30 Python
Django 项目布局方法(值得推荐)
2020/03/22 Python
Selenium python时间控件输入问题解决方案
2020/07/22 Python
基于Python pyecharts实现多种图例代码解析
2020/08/10 Python
HTML5 canvas 基本语法
2009/08/26 HTML / CSS
html5 Canvas画图教程(8)—canvas里画曲线之bezierCurveTo方法
2013/01/09 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
英国地毯卖家:The Rug Seller
2019/07/18 全球购物
Java如何调用外部Exe程序
2015/07/04 面试题
单位消防安全责任书
2014/07/23 职场文书
本科毕业论文指导教师评语
2014/12/30 职场文书
工作失误检讨书
2015/01/26 职场文书
mysql性能优化以及配置连接参数设置
2022/05/06 MySQL