这段代码读取文件的大小,但1.759864Mb文件的输出将为1Mb,我希望它是2Mb。我知道这是要改变一个小东西,但我找不到它是什么......PHP - Round number
function Size($path)
{
$bytes = sprintf('%u', filesize($path));
if ($bytes > 0)
{
$unit = intval(log($bytes, 1024));
$units = array('B', 'Kb', 'Mb', 'Gb');
if (array_key_exists($unit, $units) === true)
{
return sprintf('%d %s', $bytes/pow(1024, $unit), $units[$unit]);
}
}
return $bytes;
}
谢谢,成功了!虽然我用圆而不是ceil。 – user495915 2012-07-22 15:49:28
小心一轮,我在回答中选择了它,但选择了删除,它可以是非常有用的,但很疲惫,就好像你试图显示7.3MB的文件需要多少磁盘空间并且用户有7.0MB自由和你的程序输出7MB所需,因为它向下舍入用户将没有足够的空间。然而,如果你是安全的并且总是四舍五入(通过使用ceil),用户将始终被告知上限。 – 2012-07-22 15:52:45
圆是否能够做地板以及ceil?我并不认为这是事实,我知道你可以控制它如何缩小一半,但是你不能覆盖例如7.3或7.7的默认舍入,它们总是舍入或舍弃。 – 2012-07-22 15:55:28