note 98477 added to function.filesize
| From: | martinjohndotsweenyatgmaildotcom at osu1 dot php dot net | Date: | Thu, 17 Jun 2010 20:12:36 +0000 |
| Subject: | note 98477 added to function.filesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-170219@lists.php.net to get a copy of this message | ||
Here is a quick function for getting a nicer filesize from a number:
<?php
function formatBytes($b,$p = null) {
/**
*
* @author Martin Sweeny
* @version 2010.0617
*
* returns formatted number of bytes.
* two parameters: the bytes and the precision (optional).
* if no precision is set, function will determine clean
* result automatically.
*
**/
$units =
array("B","kB","MB","GB","TB","PB","EB","ZB","YB");
$c=0;
if(!$p && $p !== 0) {
foreach($units as $k => $u) {
if(($b / pow(1024,$k)) >= 1) {
$r["bytes"] = $b / pow(1024,$k);
$r["units"] = $u;
$c++;
}
}
return number_format($r["bytes"],2) . " " . $r["units"];
} else {
return number_format($b / pow(1024,$p)) . " " . $units[$p];
}
}
echo formatBytes(81000000); //returns 77.25 MB
echo formatBytes(81000000,0); //returns 81,000,000 B
echo formatBytes(81000000,1); //returns 79,102 kB
?>
Feel free to email me if you can think of improvements!
----
Server IP: 69.147.83.197
Probable Submitter: 173.178.7.74
----
Manual Page -- http://www.php.net/manual/en/function.filesize.php
Edit -- https://master.php.net/note/edit/98477
Del: integrated -- https://master.php.net/note/delete/98477/integrated
Del: useless -- https://master.php.net/note/delete/98477/useless
Del: bad code -- https://master.php.net/note/delete/98477/bad+code
Del: spam -- https://master.php.net/note/delete/98477/spam
Del: non-english -- https://master.php.net/note/delete/98477/non-english
Del: in docs -- https://master.php.net/note/delete/98477/in+docs
Del: other reasons-- https://master.php.net/note/delete/98477
Reject -- https://master.php.net/note/reject/98477
Search -- https://master.php.net/manage/user-notes.php