使用 PHP,有什么简单的方法可以根据字节数以适当的面额显示文件大小?
问问题
169 次
1 回答
0
为此我想出了一个小功能:
function filesize_exact($iSize, $iPrecision = 2, $bSpace = true) {
// By Gabriel Nahmias (gabriel@terrasoftlabs.com)
// Measure certain byte ranges in descending order.
$sUnit = "bytes";
if ($iSize > 1024 * 1024 * 1024 * 1024 * 1024) {
$sUnit = "PB";
$iSize /= 1024 * 1024 * 1024 * 1024 * 1024;
} else if ($iSize > 1024 * 1024 * 1024 * 1024) {
$sUnit = "TB";
$iSize /= 1024 * 1024 * 1024 * 1024;
} else if ($iSize > 1024 * 1024 * 1024) {
$sUnit = "GB";
$iSize /= 1024 * 1024 * 1024;
} else if ($iSize > 1024 * 1024) {
$sUnit = "MB";
$iSize /= 1024 * 1024;
} else if ($iSize > 1024) {
$sUnit = "KB";
$iSize /= 1024;
}
if ($iPrecision > 0 && $iPrecision != NULL)
$iSize = round($iSize, $iPrecision);
// Make sure bytes is always spaced out; could be changed.
return $iSize . ($bSpace || $sUnit == "bytes" ? " " : "") . $sUnit;
}
为我工作。有几个不错的选择。您可以扩展它以封装任何大小范围,只要它按降序排列,因为这就是此处设置逻辑的方式并且它是合适的。请参阅http://www.webopedia.com/quick_ref/FileSizeConversionTable.asp以获取文件大小面额的体面列表。
于 2012-07-07T09:33:14.400 回答