Below are two functions in PHP to assist with calculating bandwidth information. The first to_bytes($value,$unit) will turn value into bytes based on what the unit is. The function bytes_to($value, $unit) converts the $value of bytes to the specified unit. This is what drives our Bandwidth Calculator.
Parameters
The two functions both use the $unit parameter the same. The supported units are:
b = bits B = Bytes Kb = Kilobits KB = Kilobytes Mb = Megabits MB = Megabytes Gb = Gigabits GB = Gigabytes
$k = 1024;
$m = 1048576;
$g = 1073741824;
function to_bytes($value, $unit)
{
global $k, $m, $g;
switch (trim($unit))
{
case "b": //bytes
return ($value / 8);
case "Kb": //Kilobits
return (($value * $k) / 8);
case "Mb": // Megabits
return (($value * $m) / 8);
case "Gb": // Gigabits
return (($value * $g) / 8);
case "B": // Bytes
return $value;
case "KB": // Kilobytes
return ($value * $k);
case "MB": // Megabytes
return ($value * $m);
case "GB": // Gigabytes
return ($value * $g);
default: return 0;
}
}
function bytes_to($value, $unit)
{
global $k, $m, $g;
switch (trim($unit))
{
case "b": //bytes
return ($value * 8);
case "Kb": //Kilobits
return (($value * 8) / $k);
case "Mb": // Megabits
return (($value * 8) / $m);
case "Gb": // Gigabits
return (($value * 8) / $g);
case "B": // Bytes
return $value;
case "KB": // Kilobytes
return ($value / $k);
//return bcdiv($value, $k, 4);
case "MB": // Megabytes
return ($value / $m);
case "GB": // Gigabytes
return ($value / $g);
default: return 0;
}
}