第一种:

    1. function formatSize($size) {
    2. $sizes = array(" Bytes", " KB", " MB", " GB", " TB", " PB", " EB", " ZB", " YB");
    3. if ($size == 0) {
    4. return('n/a');
    5. } else {
    6. return (round($size/pow(1024, ($i = floor(log($size, 1024)))), 2) . $sizes[$i]);
    7. }
    8. }

    第二种:

    function  format\_bytes($size,  $delimiter  \=  '')  {
    $units  \=  array('B',  'KB',  'MB',  'GB',  'TB',  'PB');
    for  ($i  \=  0;  $size  \>=  1024  &&  $i  <  5;  $i++)  $size  /=  1024;
    return  round($size,  3)  .  $delimiter  .  $units\[$i\];
    }
    

    第三种:

    function getFilesize($num){
        $p = 0;
        $format='bytes';
        if($num>0 && $num<1024){
            $p = 0;
            return number_format($num).' '.$format;
        }
        if($num>=1024 && $num<pow(1024, 2)){
            $p = 1;
            $format = 'KB';
        }
        if ($num>=pow(1024, 2) && $num<pow(1024, 3)) {
            $p = 2;
            $format = 'MB';
        }
        if ($num>=pow(1024, 3) && $num<pow(1024, 4)) {
            $p = 3;
            $format = 'GB';
        }
        if ($num>=pow(1024, 4) && $num<pow(1024, 5)) {
            $p = 3;
            $format = 'TB';
        }
        $num /= pow(1024, $p);
        return number_format($num, 3).' '.$format;
    }