/**
* 统计文件数和文件大小
*/
private function getFileCacheCount($pathName)
{
$data = [
'num' => 0,
'size' => 0
];
$dir = opendir($pathName);
while(false !== ($file_name = readdir($dir))){
if(!($file_name == "." || $file_name == "..")){
$fileName = $pathName . "/" . $file_name;
if(is_dir($fileName)){
$subData = $this->getFileCacheCount($fileName);
$data['size'] += $subData['size'];
$data['num'] += $subData['num'];
}else{
$data['size'] += filesize($fileName);
$data['num']++;
}
}
}
closedir($dir);
return $data;
}

//文件路径
$cachePath = '文件路径';
$data = getFileCacheCount($cachePath);
switch ($data['size']){
case $data['size'] > 1024:
$data['size'] = round($data['size']/1024, 2) . 'KB';
break;
case $data['size'] > 1024*1024:
$data['size'] = round($data['size']/1024/1024, 2) . 'MB';
break;
default:
$data['size'] = $data['size'] . 'B';
};

PHP 统计文件数和文件大小的更多相关文章

  1. Linux下查看目录文件数和文件大小

    一.查看当前目录下文件个数 在linux下查看目录下有多少文件可以用:ls -l  命令查看,ls -lR 递归查看所有目录, 如果文件很多,则用wc命令 和 grep 命令进行过滤. wc命令显示输 ...

  2. PHP 统计目录下文件数和文件大小

    1 /** 2 * 统计文件数和文件大小 3 */ 4 private function getFileCacheCount($pathName) 5 { 6 $data = [ 7 'num' =& ...

  3. 【日常小记】统计后缀名为.cc、.c、.h的文件数【转】

    转自:http://www.cnblogs.com/skynet/archive/2011/03/29/1998970.html 在项目开发时,有时候想知道源码文件中有多少后缀名为.cc..c..h的 ...

  4. Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.

    Atitit.Guibutton与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi:::  代码行数(凝视行数,空白的行数), 方法数,class数 1 2. ...

  5. Atitit.Gui按钮与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数.

    Atitit.Gui按钮与面板---项目规模的评估----文件数统计,结构,代码行数,每类型文件行数. 1. Kpi:::  代码行数(注释行数,空白的行数), 方法数,class数 1 2. 过滤器 ...

  6. 查看ubuntu文件目录的大小和文件夹包含的文件数 zT

    查看ubuntu文件目录的大小和文件夹包含的文件数 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 du -sh xmldb/ du -sm * | sort -n //统计当前目录大 ...

  7. Linux下查看某个进程打开的文件数-losf工具常用参数介绍

    Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...

  8. linux中,查看某个进程打开的文件数?

    需求描述: 今天在处理一个问题的时候,涉及到查看某个进程打开的文件数,在此记录下. 操作过程: 1.通过lsof命令查看某个特定的进程打开的文件数 [root@hadoop3 ~]# lsof -p ...

  9. 转 查看linux文件目录的大小和文件夹包含的文件数

    du -sh 文件夹路径 查看linux文件目录的大小和文件夹包含的文件数 统计总数大小 du -sh xmldb/ du -sm * | sort -n //统计当前目录大小 并安大小 排序 du ...

随机推荐

  1. Rancher 2.5特性解读丨更简单友好的API和Dashboard

    本文来自Rancher Labs 关注我们,看K8S干货教程 作者简介 张智博,Rancher中国研发与产品总监.7年云计算领域经验,一直活跃在研发一线,经历了OpenStack到Kubernetes ...

  2. Linux 系统基于 Hadoop 安装 Hive

    [注意]安装hive前提是要先安装hadoop集群,并且hive只需要在hadoop的namenode节点集群里安装即可(在所有的namenode上安装),可以不在datanode节点的机器上安装. ...

  3. 【转】Extension Libraries and Loading Other Image Formats

    FROM: http://lazyfoo.net/tutorials/SDL/06_extension_libraries_and_loading_other_image_formats/index. ...

  4. 09 Servlet中间服务 连接前段和后端

    import  导入    在当前类中使用外包中的类时使用 cookies 缓存 Alt + enter 提示快捷键 Servlet 服务  (连接前段和后端) Servlet本质就是Java类 Ja ...

  5. python开发--python函数-(持续更新)

    1. 打印 : print() # 打印,输出 2. 变量 : var = 'hello' # 变量var , 把'hello' 赋值给变量 var 3. if 函数 : # 代码块 4个空格或者一个 ...

  6. 5 MVVM

    1.概述 MVVM各个部分功能如下: Model:定义业务逻辑 View:定义面向用户接口,UI逻辑,处理用户交互请求 ViewModel:负责界面导航逻辑和应用状态管理,呈现逻辑. 1.1. 各司其 ...

  7. UDP局域网通信的Java实现及Android平台尝试

    局域网通信已经很少被他人所提及了,我曾经还尝试过通过蓝牙构建通信网络,这次有机会尝试UDP局域网通信,在这里把一些基本过程和在Android平台上的问题记录一下. 1. UDP基础知识 1.1 什么是 ...

  8. 搭建面向NET Framework的CI/CD持续集成环境(一)

    前言 网上大多数都是针对主流的Spring Cloud.NET Core的CI/CD方案.但是目前国内绝大部分的公司因为一些历史原因无法简单的把项目从NET Framework切换升级到NET Cor ...

  9. tp3.2自动验证

    <?php namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $patchValid ...

  10. 10before_request钩子函数

    1,什么是钩子函数? 就是运行别人前都得先运行他: from flask import Flask app = Flask(__name__) @app.route('/') def hello_wo ...