note 50631 deleted from function.filesize by aidan
| From: | aidan@php.net | Date: | Wed, 13 Jul 2005 03:05:03 +0000 |
| Subject: | note 50631 deleted from function.filesize by aidan | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-91842@lists.php.net to get a copy of this message | ||
Note Submitter: hervard at gmail com
----
Here's a set of functions that will give you a human-readable file size (I didn't write
the first function, but I did the second one). compute_size() will take a byte number and spit out
an easier-to-read version.
<?php
function truncate_decimals ($num) {
$shift = pow(10, 2);
return ((floor($num * $shift)) / $shift);
}
function compute_size ($byte_number) {
if ($byte_number < 1024) {
return $byte_number.' bytes';
} elseif ($byte_number < 1048576) {
return truncate_decimals($byte_number / (1024)).' KB';
} elseif ($byte_number < 1073741824) {
return truncate_decimals($byte_number / (1048576)).' MB';
} elseif ($byte_number < 1099511627776) {
return truncate_decimals($byte_number / (1073741824)).' GB';
}
}
?>
For example, compute_size(230877) will return "225.46 KB" and compute_size(23935772) will
return "22.82 MB". I think I've done the maths right.