メモ。
function getFileSizeUnit($fsize) {
$cnt = 0;
$buf = 0;
$unit = array('B', 'KB', 'MB', 'GB', 'TB');
while(1) {
if($cnt > count($unit) - 1) {
$cnt = 9999;
break;
}
if(!isset($s)) $s = $fsize;
$sbuf = 1;
$sbuf = floor($s / 1024);
if($sbuf < 1){
$fs = $s + round(($fsize - ($s * pow(1024, $cnt))) / pow(1024, $cnt), 1);
$fs .= $unit[$cnt];
break;
}else{
$s = $sbuf;
}
$cnt ++;
}
return $fs;
}
ファイルサイズ(数値)を渡すと単位付きで返却してくれる。