位置: 编程技术 - 正文

PHP递归实现文件夹的复制、删除、查看大小操作示例(php递归遍历文件夹)

编辑:rootadmin

推荐整理分享PHP递归实现文件夹的复制、删除、查看大小操作示例(php递归遍历文件夹),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php递归遍历文件夹,php递归函数的例子,php递归算法经典题目,php递归遍历文件夹,php递归算法经典实例,php递归函数的例子,php的递归,php递归文件夹,内容如对您有帮助,希望把文章链接给更多的朋友!

本文实例讲述了PHP递归实现文件夹的复制、删除、查看大小操作。分享给大家供大家参考,具体如下:

PHP虽然提供了 filesize、copy、unlink 等文件操作的函数,但是没有提供 dirsize、copydir、rmdirs 等文件夹操作的函数(rmdir也只能删除空目录)。所以只能手动编写这些函数,主要的技巧是通过递归将问题逐层分解,直到分解成可以直接解决的最小子问题。

查看文件夹大小

由于文件夹是没有大小的,平常所说的文件夹尺寸准确的说应该是文件夹中所有文件的总大小。所以只需要将文件夹逐层查找,统计每一层所包含的文件大小,最后将结果从最深的文件夹返回合并。

复制文件夹

PHP递归实现文件夹的复制、删除、查看大小操作示例(php递归遍历文件夹)

文件是可以复制的,文件夹是不能复制的(但可以创建),如果要达到复制文件夹的效果,就需要生成一个和原始文件夹相同目录结构的新文件夹,然后将文件按照原目录结构复制到新文件夹。按照递归的思想,不用一开始就生成完整的目录结构,只需要遍历当前目录,发现文件夹不存在再创建即可,然后再将文件复制到对应的文件夹。

删除文件夹

rmdir 只能删除空文件夹,而 unlink 可以删除文件。于是删除文件夹的思路就有了,先通过 unlink 删除目录下的所有文件,再通过 rmdir 删除剩下的空文件夹。使用递归处理的逻辑是,找到当前目录下所有文件和文件夹,删除其中的所有文件,再遍历下一层目录删除所有文件……直至最后一层目录,此时整个文件夹已经没有文件了(但是文件夹还在),此时递归开始返回,每向上返回一层就删除这一层的所有空目录,当返回到最顶层的时候,递归就结束了,同时所有的文件和目录也都删除了。

剪切文件夹

rename 是 PHP Filesystem 函数中的一个特例,它既可以重命名文件,也可以重命名文件夹。如果你为重命名文件传入不同的路径,它又成了剪切函数,堪称文件函数中小而美的典范。

更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP目录操作技巧汇总》、《php文件操作总结》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》及《php字符串(string)用法总结》

希望本文所述对大家PHP程序设计有所帮助。

PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法 本文实例讲述了PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法。分享给大家供大家参考,具体如下:前面一篇PHP递归实现文件夹的复制、

PHP基于MySQLI函数封装的数据库连接工具类【定义与用法】 本文实例讲述了PHP基于MySQLI函数封装的数据库连接工具类。分享给大家供大家参考,具体如下:mysql.class.php:phpclassmysql{private$mysqli;private$result;/***数据

PHP实现的随机红包算法示例 本文实例讲述了PHP实现的随机红包算法。分享给大家供大家参考,具体如下:一、整体设计算法有很多种,可以自行选择,主要的"架构"是这样的,用redisdecr

标签: php递归遍历文件夹

本文链接地址:https://www.jiuchutong.com/biancheng/287495.html 转载请保留说明!

上一篇:关于PHP中协程和阻塞的一些理解与思考(php通信协议)

下一篇:PHP基于迭代实现文件夹复制、删除、查看大小等操作的方法(phpqrcode 实例)

  • 经济补偿影响下份工作吗
  • 发票连续作废两次
  • 所得税交多了怎么办
  • 减去税率怎么算
  • 核定扣除公式
  • 税收滞纳金计入营业外支出的哪一项
  • 云信付款如何贴现
  • 残疾人保障金做什么会计科目
  • 资源税折算后计提怎么算
  • 填写银行结算凭证的有关印鉴,应集中由谁保管
  • 餐饮加盟公司怎么经营
  • 摊销租金是什么意思
  • 发票未到货已到怎么入账
  • 事业单位购入三年期国债的会计分录怎么做?
  • 长期合同收入与应收帐款如何处理?
  • 不是企业性质的民办学校要交什么税
  • 全额拨款事业单位企业所得税
  • 对公账户100万交多少税收
  • 企业为什么要缴纳增值税
  • 旅游业差额开票税率
  • 企业所得税每季度申报时间
  • 其他资本公积核算内容
  • 外国人可以参加中国境内的党派或政治团体
  • 接受捐赠后会引起
  • 退休人员再就业受伤算工伤吗
  • 有进项没有销项会计处理
  • 苹果手机上显示LTE是什么意思
  • 怎么打开资源管理器
  • 银行贷款需要走第三方账户,第三方需要提供身份证
  • 开发票原则是收款之后才能开具吗
  • 发票章不清楚可以报销吗
  • 销售人员领用材料
  • pc程序是什么
  • 为什么捐赠还要交税
  • vue数据更新会触发什么生命周期
  • 汽车购置税去哪交钱
  • qss 设置字体
  • 支付价款含不含增值税
  • 金税盘怎么写入发票
  • c语言中使用指针的好处
  • 用友T3财务报表没有数据
  • 怎么计算利润的百分比
  • 经营性罚款在会计中怎么处理
  • 收到预付货款用什么凭证
  • 公司出售二手车要交哪些税
  • 一般纳税人公司开普票几个税点?
  • 销售补偿法
  • 银行汇票该怎么做账
  • 付款退回在现金里怎么查
  • 金税盘服务费可以抵扣增值税进项税额吗
  • 收不回来的账怎么处理
  • 非税收入定额票据是什么
  • 已核销的坏账又收回预算会计分录
  • 客户到我公司签字怎么说
  • 旅游,饮食业会议内容
  • 分类不同
  • windows98的开始菜单包括了
  • Win7系统进入桌面后点每个文件都会打转
  • Windows Server 2008禁止模块安装提升网络性能
  • 苹果今日报价
  • windows8.
  • win10系统玩游戏卡
  • 阿里云安装
  • ubuntu开机密码不记得了
  • win8蓝牙连不上
  • Linux dpkg-query 命令用法详解(Debian Linux中软件包的查询工具)
  • win10系统打开安装程序没反应
  • androidstudio更改工程名字
  • android内存泄露 工具
  • 关于H1的位置解析
  • unity多人游戏
  • js实现框选
  • jquery点击事件有什么方法显示
  • edittext获取焦点弹出键盘
  • js代码测试工具
  • js 操作xml
  • 交管12123怎么打电话
  • 惠州市公交车投诉平台
  • 滨州税务局公务员工资
  • 江西鹰潭潭花酒60度
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设