Буквально случайно, наткнулся в БУС 12.5 на замечательный метод CFile::FormatSize. Метод принимает два параметра: размер файла в (
$size) и округление (
$precision). Возвращает текстом размер файла, округленный до последнего целого значения и текстовую подпись размера в байтах, килобайтах и тд с учетом языка, установленного в текущем сайта. Странно, что его нет в документации, ибо метод очень не плох. Код метода:
/**
* @param float $size
* @param int $precision
* @return string
*/
public static function FormatSize($size, $precision = 2)
{
static $a = array("b", "Kb", "Mb", "Gb", "Tb");
$pos = 0;
while($size >= 1024 && $pos < 4)
{
$size /= 1024;
$pos++;
}
return round($size, $precision)." ".GetMessage("FILE_SIZE_".$a[$pos]);
} |