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

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP递归实现文件夹的复制、删除、查看大小操作示例脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

@H_512_7@查看文件夹大小

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

<PRe class="brush:PHp;"> /** * 文件夹大小 * @param $path * @return int */ function dirsize($path) { $size = 0; $handle = opendir($path); while (($ITem = readdir($handle)) !== false) { if ($item == '.' || $item == '..') continue; $_path = $path . '/' . $item; if (is_file($_path)) $size += filesize($_path); if (is_dir($_path)) $size += dirsize($_path); } closedir($handle); return $size; }

脚本宝典总结

以上是脚本宝典为你收集整理的PHP递归实现文件夹的复制、删除、查看大小操作示例全部内容,希望文章能够帮你解决PHP递归实现文件夹的复制、删除、查看大小操作示例所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。