<?php
/**
* Anzahl von Bytes als GB,MB,KB oder Bytes anzeigen.
*/
function ByteSize($bytes)
{
if (!is_int($bytes) || $bytes < 0){
return false;
}
$map = array(
'GB' => array(1073741824, 1),
'MB' => array(1048576, 2),
'KB' => array(1024, 2),
'Bytes' => array(1, 0),
);
foreach($map as $k => $v){
if ($bytes >= $v[0]){
break;
}
}
$f = number_format($bytes / $v[0], $v[1],',','.');
if ($bytes < 2){
$k = 'Byte';
}
return sprintf ('%s %s',$f, $k);
}
$samples = array(-12,2.45,'Hundert',12,0,1,12121212,343232,1323232323,4343434,2140000000);
foreach($samples as $size){
printf ('<h2>%s => %s</h2>',$size, ByteSize($size));
}
?>