您的位置:首页 > 编程语言 > PHP开发

PHP格式化显示文件大小函数

2014-07-14 11:32 543 查看
用filesize()函数可以返回文件的大小,可是返回值是以字节(B)为单位的,看起来不方便。怎么让它根据文件的大小自动以KB、MB、GB为单位显示呢,用下面这个函数就可以实现了。

01
<?php
02
/**
03
*
格式化文件大小显示
04
*
05
*
@paramint$size
06
*
@returnstring
07
*/
08
function
format_size(
$size
)
{
09
$prec
=
3;
10
$size
=
round
(
abs
(
$size
));
11
$units
=
array
(
12
0
=>
"
B"
,
13
1
=>
"
KB"
,
14
2
=>
"
MB"
,
15
3
=>
"
GB"
,
16
4
=>
"
TB"
17
);
18
if
(
$size
==
0)
19
return
str_repeat
(
"
"
,
$prec
)
.
"0$units[0]"
;
20
$unit
=
min(4,
floor
(log(
$size
)
/log(2)/10));
21
$size
=
$size
*
pow(2,-10*
$unit
);
22
$digi
=
$prec
-
1-
floor
(log(
$size
)
/log(10));
23
$size
=
round
(
$size
*
pow(10,
$digi
))
*pow(10,-
$digi
);
24
return
$size
.
$units
[
$unit
];
25
}
26
?>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: