ファイルサイズの単位

ファイルサイズに単位を付与するモジュール

PHP

/** * * ファイルサイズの単位 * * @param float $file_size * @return string */ function getFiseSize($file_size) { // 単位(B, KB, MB, GB, TB, PB, EB, ZB, YB) $unit = array('byte', 'KB', 'MB', 'GB', 'TB'); $unit_count = count($unit); for ($i = 0; $i < $unit_count; $i++) { if ($file_size < 1024 || $i == $unit_count - 1) { if ($i == 0) { $str = number_format($file_size) . ' ' . $unit[ $i ]; } else { $str = number_format($file_size, 2, '.', '' ) . ' ' . $unit[ $i ]; } break; } $file_size = $file_size / 1024; } return $str; }

サンプル

単位付きサイズをバイトに戻す場合。

PHP

/** * * サイズ単位をバイトに戻す * * @param str $file_size * @return string */ function getByteSize($file_size) { // 単位 $unit = array('byte', 'KB', 'MB', 'GB', 'TB'); $unit_count = count($unit); for ($i = 0; $i < $unit_count; $i++) { if (mb_strpos($file_size, $unit[$i]) !== FALSE) { $str = number_format(trim(trim($file_size), $unit[$i]) * pow(1024, $i)) . ' byte'; break; } } return $str; }

1.01 GB ⇔ 1,084,479,242 byte
191 MB ⇔ 200,278,016 byte
50.5 MB ⇔ 52,953,088 byte
9.35 MB ⇔ 9,804,186 byte
893 KB ⇔ 914,432 byte

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について