PHP Function to Get File Sizes in KB, MB & GB
Sometimes we need to get file sizes in different format like KB, MB and GB. Here’s very simple PHP function that will display file size in KB, MB or GB. You can easilly get your desired result just passing your desired format in function’s type parameter.
function formatFilebytes($file, $type)
{
switch($type){
case “KB”:
$filesize = filesize($file) * .0009765625; // bytes to KB
break;
case “MB“:
$filesize = (filesize($file) * .0009765625) * .0009765625; // bytes to MB
break;
case “GB“:
$filesize = ((filesize($file) * .0009765625) * .0009765625) * .0009765625; // bytes to GB
break;
}
if($filesize <= 0){
return $filesize = ‘unknown file size‘;}
else{return round($filesize, 2).’ ‘.$type;}
}
{
switch($type){
case “KB”:
$filesize = filesize($file) * .0009765625; // bytes to KB
break;
case “MB“:
$filesize = (filesize($file) * .0009765625) * .0009765625; // bytes to MB
break;
case “GB“:
$filesize = ((filesize($file) * .0009765625) * .0009765625) * .0009765625; // bytes to GB
break;
}
if($filesize <= 0){
return $filesize = ‘unknown file size‘;}
else{return round($filesize, 2).’ ‘.$type;}
}
Example:
echo formatFilebytes(“$_SERVER[DOCUMENT_ROOT]/images/large_picture.jpg”, “MB”);
// would display the file size in MB
// would display the file size in MB
Hope it will work for you!
Follow @phpzag
