0

PHP を使用して、バイト数に関して適切な単位でファイル サイズを表示する簡単な方法は何ですか?

4

1 に答える 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 に答える