This handy function allows you to pass a filesize in bytes and have it returned with the appropriate suffix.
Credit is due, but I don’t remember where I originally found it (possibly the PHP documentation site).
<?php
function filesize_format ($bytes)
{
if ($bytes > 0)
{
$suffixes = array('B', 'KB', 'MB', 'GB', 'TB');
$bytes = (int) $bytes;
$bits = 1024;
$result = (int) (log($bytes, $bits));
return round($bytes / pow($bits, $result)).' '.$suffixes[$result];
}
else
{
return '0 B';
}
}