Print

Php convert filesizes to bytes kb mb gb

What?
Just a quick note on how to format a given filesize and to reduce the display output to a small string, eg:
copyraw
196 bytes          : displays as => "196 bytes"
   12945 bytes        : displays as => "12 Kb"
   1478515 bytes      : displays as => "1 Mb"
   8798745455 bytes   : displays as => "8 Gb"
  1.  196 bytes          : displays as => "196 bytes" 
  2.     12945 bytes        : displays as => "12 Kb" 
  3.     1478515 bytes      : displays as => "1 Mb" 
  4.     8798745455 bytes   : displays as => "8 Gb" 

How?
Source: PHP Share: http://www.phpshare.org
copyraw
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';
        }
        else
        {
            $bytes = '0 bytes';
        }

        return $bytes;
}
  1.  function formatSizeUnits($bytes) 
  2.      { 
  3.          if ($bytes >= 1073741824) 
  4.          { 
  5.              $bytes = number_format($bytes / 1073741824, 2) . ' GB'
  6.          } 
  7.          elseif ($bytes >= 1048576) 
  8.          { 
  9.              $bytes = number_format($bytes / 1048576, 2) . ' MB'
  10.          } 
  11.          elseif ($bytes >= 1024) 
  12.          { 
  13.              $bytes = number_format($bytes / 1024, 2) . ' KB'
  14.          } 
  15.          elseif ($bytes > 1) 
  16.          { 
  17.              $bytes = $bytes . ' bytes'
  18.          } 
  19.          else 
  20.          { 
  21.              $bytes = '0 bytes'
  22.          } 
  23.   
  24.          return $bytes
  25.  } 


Inline without a function
Source: Joes Brain: http://www.joellipman.com
copyraw
if ($this_file_size >= 1073741824)
	$this_file_size = number_format($this_file_size / 1073741824, 1) . ' GB';
elseif ($this_file_size >= 1048576)
	$this_file_size = number_format($this_file_size / 1048576, 1) . ' MB';
elseif ($this_file_size >= 1024)
	$this_file_size = number_format($this_file_size / 1024, 1) . ' KB';
elseif ($this_file_size > 1)
	$this_file_size = $this_file_size . ' bytes';
elseif ($this_file_size == 1)
	$this_file_size = $this_file_size . ' byte';
else
	$this_file_size = '0 bytes';
  1.  if ($this_file_size >= 1073741824) 
  2.      $this_file_size = number_format($this_file_size / 1073741824, 1) . ' GB'
  3.  elseif ($this_file_size >= 1048576) 
  4.      $this_file_size = number_format($this_file_size / 1048576, 1) . ' MB'
  5.  elseif ($this_file_size >= 1024) 
  6.      $this_file_size = number_format($this_file_size / 1024, 1) . ' KB'
  7.  elseif ($this_file_size > 1) 
  8.      $this_file_size = $this_file_size . ' bytes'
  9.  elseif ($this_file_size == 1) 
  10.      $this_file_size = $this_file_size . ' byte'
  11.  else 
  12.      $this_file_size = '0 bytes'
Category: Personal Home Page :: Article: 468