代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
PHP
】
获取指定目录下的大小
作者:
Dezai.CN
/ 发布于
2011/8/31
/
666
分别使用Linux系统命令du -b与PHP系统函数filesize来获取指定目录下的大小,得到的结果值存在很大的差异。 大部分人都搞错了 du 的作用,du 不是显示文件大小,而是显示文件所占用的 block 大小,你的分区的 block size 是 4k ,也就是说即使文件只有1个字节,也会占用 4KB 。
<div>?<?php /** * 获取目录大小(分别采用Linux的du命令及PHP系统函数filesize实现) * */ function _dirSize($path, $_isCmd = TRUE) { $size = 0; if ($_isCmd) { //注意,linux下文件夹大小位4096byte, 而windows下文件夹大小为0, 所以造成 du统计的大小与filesize统计的大小不一致 $size = intval(exec('du -b '.escapeshellarg($path))); } else { $list = scandir($path); foreach($list as $val) { if ($val == '.' OR $val == '..') continue; $p = $path.'/'.$val; if (is_dir($p)) { $size += _dirSize($p, $_isCmd); } else { $size += filesize($p); } } } return $size; } <div>/** * 获取指定目录下子文件夹个数(linux环境下执行) * */ function _getDirCount($path) { return intval((_dirSize($path, TRUE) - _dirSize($path, FALSE))/4096); } <div>/** * 格式化输出文件大小 * */ function _sizeFormat($size, $unit = '') { if ($unit == '') { if($unit/1024 >=0 AND $unit/1024 <=1024) { $unit = 'K'; } else if ( $unit/1024 >1024 AND $unit/1024 <= 1024*1024 ) { $unit = 'M'; } else { $unit = 'G'; } } switch(strtolower($unit)) { case 'k': $size = ($size/1024); $suffix = 'KB'; break; case 'm': $size = ($size/1024/1024); $suffix = 'MB'; break; case 'g': $size = ($size/1024/1024/1024); $suffix = 'GB'; break; } $size = sprintf("%.2f%s", $size, $suffix); return $size; } <div>$path = 'min'; var_dump(_dirSize($path, FALSE)); var_dump(_dirSize($path, TRUE)); var_dump(_getDirCount($path));</div> <div>/*end of php*/</div>
试试其它关键字
同语言下
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
可能有用的
.
用net匹配并替换iOS标准的emoji表情符号
.
处理带Emoji表情的的字符串
.
获取微信昵称时 过滤特殊字符
.
通过判断上传文件的头字符来判断文件的类型
.
模拟百度URL加密解密算法
.
以太坊检查地址是否合法
.
实现crontab解析类
.
获取每个月的开始和结束时间
.
图片上传工具类
.
APP手机应用信息采集
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3