convert : add humanSize conversion (1440 => 1.44KB)
git-svn-id: https://svn.fournier38.fr/svn/ProgSVN/trunk@4179 bf3deb0d-5f1a-0410-827f-c0cc1f45334c
This commit is contained in:
25
convert.php
25
convert.php
@@ -83,4 +83,29 @@ class convert
|
|||||||
}
|
}
|
||||||
return $res;
|
return $res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** Convert the provided integer to human readable format
|
||||||
|
* Example : 1440000000 => 1.44Mo
|
||||||
|
* @param integer $bytes The number of bytes to convert
|
||||||
|
* @param integer $decimal The number of decimal
|
||||||
|
*/
|
||||||
|
public static function humanSize ($bytes, $decimals = 2)
|
||||||
|
{
|
||||||
|
$size = array (dgettext ("domframework", 'B'),
|
||||||
|
dgettext ("domframework", 'kB'),
|
||||||
|
dgettext ("domframework", 'MB'),
|
||||||
|
dgettext ("domframework", 'GB'),
|
||||||
|
dgettext ("domframework", 'TB'),
|
||||||
|
dgettext ("domframework", 'PB'),
|
||||||
|
dgettext ("domframework", 'EB'),
|
||||||
|
dgettext ("domframework", 'ZB'),
|
||||||
|
dgettext ("domframework", 'YB'));
|
||||||
|
$factor = floor ((strlen ($bytes) - 1) / 3);
|
||||||
|
if ($factor == 0)
|
||||||
|
$val = sprintf ("%d", intval ($bytes)). @$size[$factor];
|
||||||
|
else
|
||||||
|
$val = sprintf ("%.{$decimals}f", $bytes / pow (1024, $factor)) .
|
||||||
|
@$size[$factor];
|
||||||
|
return $val;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user