1. ホーム
  2. php

[解決済み] PHPのファイルサイズMB/KB変換 [重複]。

2022-06-04 03:40:14

質問

PHP の filesize() 関数の出力を、メガバイトやキロバイトなどの素敵なフォーマットに 変換するにはどうしたらよいでしょうか?

のようなものです。

  • サイズが1MB未満の場合、サイズをKB単位で表示する
  • 1 MB ~ 1 GB の場合は MB 単位で表示します。
  • それ以上の場合は GB 単位で表示

どのように解決するのですか?

サンプルはこちらです。

<?php
// Snippet from PHP Share: http://www.phpshare.org

    function formatSizeUnits($bytes)
    {
        if ($bytes >= 1073741824)
        {
            $bytes = number_format($bytes / 1073741824, 2) . ' GB';
        }
        elseif ($bytes >= 1048576)
        {
            $bytes = number_format($bytes / 1048576, 2) . ' MB';
        }
        elseif ($bytes >= 1024)
        {
            $bytes = number_format($bytes / 1024, 2) . ' KB';
        }
        elseif ($bytes > 1)
        {
            $bytes = $bytes . ' bytes';
        }
        elseif ($bytes == 1)
        {
            $bytes = $bytes . ' byte';
        }
        else
        {
            $bytes = '0 bytes';
        }

        return $bytes;
}
?>