利用php怎么对目录文件的大小进行统计

发布时间:2020-12-24 16:31:18

来源:亿速云

阅读:87

作者:Leah

本篇文章给大家分享的是有关利用php怎么对目录文件的大小进行统计,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

/**

统计目录文件大小的函数

@author xfcode

*/

function dirsize($dir)

{

@$dh = opendir($dir);

$size = 0;

while ($file = @readdir($dh))

{

if ($file != "." and $file != "..")

{

$path = $dir."/".$file;

if (is_dir($path))

{

$size += dirsize($path);

}

elseif (is_file($path))

{

$size += filesize($path);

}

}

}

@closedir($dh);

return $size;

}

//function end

//eg:

$dir_path = "./my_files";

$dir_size = dirsize($dir_path);

$dir_size = $dir_size/1024/1024;

echo $dir_size."MB";

?>

这个函数可以递归遍历目录中的所有文件,并计算以MB为单位的文件总大小。

下面我们再来看个代码<?php

#循环遍历目录中所有的文件,并统计目录和文件的大小

$dirName="phpMyAdmin";

$dir=opendir($dirName); #返回一个资源类型

while($fileName=readdir($dir)){

$file=$dirName."/".$fileName;

if($fileName!="." && $fileName!=".."){

if(is_dir($file)){

echo "".$fileName."===".date("Y-m-d H:i:s",filectime($file))."==".filetype($file)."==".toSize(dirSize($file))."
";

}

else{

echo "".$fileName."=====".date("Y-m-d H:i:s",filectime($file))."====".filetype($file)."====".toSize(filesize($file))."
";

}

}

}

closedir($dir);

#把文件或目录的大小转化为容易读的方式

function toSize($size){

$dw; #指定文件或目录统计的单位方式

if($size>pow(2,30)){

$dw="GB";

$size=round($size/pow(2,30),2);

}

else if($size>pow(2,20)){

$dw="MB";

$size=round($size/pow(2,20),2);

}

else if($size>pow(2,10)){

$dw="KB";

$size=round($size/pow(2,10),2);

}

else

{

$dw="bytes";

}

return $size.$dw;

}

#利用递归的方式统计目录的大小

function dirSize($dirName){

$dirsize=0;

$dir=opendir($dirName);

while($fileName=readdir($dir)){

$file=$dirName."/".$fileName;

if($fileName!="." && $fileName!=".."){   //一定要进行判断,否则会出现错误的

if(is_dir($file)){

$dirsize+=dirSize($file);

}

else{

$dirsize+=filesize($file);

}

}

}

closedir($dir);

return $dirsize;

}

?>

以上就是利用php怎么对目录文件的大小进行统计,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

php 目录文件大小,利用php怎么对目录文件的大小进行统计相关推荐

  1. 服务器文件夹大小查看器,asp利用FSO检测服务器空间文件夹大小

    asp利用FSO检测服务器空间文件夹大小 * {margin:0;padding:0;font-size:12px;} body {padding:15px;} .size1 {font-weight ...

  2. c语言格式化写入文件大小,利用C语言格式化读写文件

    "在C语言中进行格式化读写文件"按照字面意思通常大家都会理解为将读写文件进行格式化的操作,那么到底我们是不是真的将读写文件进行格式化的操作呢?下面课课家笔者就为大家简单介绍C语言中 ...

  3. linux监控目录容量,利用ZABBIX监控某个目录大小

    近期,因为JMS的消息堆积导致ApacheMQ频率故障(消息没有被消费掉,导致其数据库达到1.2G,JMS此时直接挂掉),很是郁闷!刚好自己在研究zabbix.既然zabbix如此强大,那么它可以监控 ...

  4. 查看linux显示文件大小,Linux下查看占用最大的文件和文件夹大小

    不知道大家有没有遇到过这种情况,就是经常会出现linux文件磁盘空间不足导致的网站打不开,面板登录不上的情况,小魏今天就遇到了,空间占用爆满,小魏进行清理占用最大文件,网站恢复,那么这个时候我们就会想 ...

  5. php 文件大小函数,php计算目录文件大小的函数

    本篇文章主要介绍php计算目录文件大小的函数,感兴趣的朋友参考下,希望对大家有所帮助. 代码如下: /** 统计目录文件大小的函数 @author xfcode */ function dirsize ...

  6. linux各目录的文件大小,Linux下查看文件大小和目录大小以及目录下文件的大小...

    在linux中经常会查看文件大小,通常用的命令du: 该命令详细解释如下: [www@server101 logs]$ du --help 用法:du [选项]... [文件]... 或:du [选项 ...

  7. linux 文件大小_linux系统中查看目录大小的du命令常

    CentOS7.3学习笔记总结(四十六)-linux系统中查看目录大小的du命令常用方法 在windows系统中我们想查看目录或文件的大小,直接右键属性,并且还能显示别的属性,在linux系统中,一般 ...

  8. Linux 只查找两层备份目录文件大小

    Linux 只查找两层备份目录文件大小 find -maxdepth 2 -type d -name "*_bak" | xargs du -sh

  9. Linux挂载nfs只读文件系统,[mcj]利用NFS mount远程目录之后文件夹变成只读的解决办法...

    之前讲过如何利用NFS将远程目录mount到本地文件夹的方法: 不过这个方法目前有个问题,就是mount之后的文件夹变成了只读,但是直接查看文件夹的权限,看到的却是777 看来问题出在了NFS mou ...

最新文章

  1. CVPR 2021|三维视觉相关论文汇总
  2. Linux中执行shell脚本的4种方法
  3. 终于弄明白 i = i++和 i = ++i 了
  4. C语言引用文件空格和换行,关于文件操作,碰到空格就换行
  5. 用matlab相关分析,基于matlab的逐像元偏相关分析
  6. 解决linux下无线网卡被物理禁用问题
  7. 跟踪React流–将Spring Cloud Sleuth与Boot 2结合使用
  8. mybatis缓存二级缓存_MyBatis缓存与Apache Ignite的陷阱
  9. R7-1 What is a computer? (5 分)
  10. java loadjs_Javarscript中模块(module)、加载(load)与捆绑(bundle)详解
  11. 编译器在构造函数里都做了些什么?
  12. hook监控限制_**CodeIgniter通过hook的方式实现简单的权限控制
  13. ASP.Net 服务器应用程序不可用 解决方法
  14. 深度学习之torch(一)MINIST手写字符分类
  15. Svn与Git的优缺点(最通俗的话)
  16. 2022.4.7学习笔记
  17. 内存不能为“read” “written”的解决方法
  18. 2.4.2 小型机状态
  19. 磁共振线圈分类_磁共振检查线圈如何选?没有专用线圈该怎么办?
  20. 系列二:最全微商城营销36计!

热门文章

  1. 祖龙娱乐2021年亏损3.03亿元 同比收窄60%
  2. 英特尔面向网络及边缘推出至强D系列处理器
  3. 工信部拟规定基本功能软件外的预置App均可卸载
  4. 苹果将允许iPhone直接使用NFC接受信用卡付款
  5. 苹果iPad mini 6更多细节曝光:全面屏加持 搭载A14/A15芯片
  6. 霍兰德教育CEO被曝卷钱逃回英国 欠款超千万
  7. 欧菲光修正2020年业绩为预计亏损18.5亿元
  8. 不到6年“拼”活近8亿用户 拼多多还在狂奔
  9. 许家印深夜主持集团营销大会:恒大全国楼盘全线7折!
  10. iPhone 12或于7月开始量产,售价4615元起