PartKeepr\CoreBundle\Services\SystemService::format_bytes PHP Method

format_bytes() public method

Filter for converting bytes to a human-readable format, as Unix command "ls -h" does.
public format_bytes ( string | integer $number, boolean $base2conversion = true ) : string
$number string | integer A string or integer number value to format.
$base2conversion boolean Defines if the conversion has to be strictly performed as binary values or by using a decimal conversion such as 1 KByte = 1000 Bytes.
return string The number converted to human readable representation.
    public function format_bytes($number, $base2conversion = true)
    {
        if (!$this->is_valid_value($number)) {
            return;
        }
        $unit = $base2conversion ? 1024 : 1000;
        if ($number < $unit) {
            return $number . ' B';
        }
        $exp = intval(log($number) / log($unit));
        $pre = $base2conversion ? 'kMGTPE' : 'KMGTPE';
        $pre = $pre[$exp - 1] . ($base2conversion ? '' : 'i');
        return sprintf('%.1f %sB', $number / pow($unit, $exp), $pre);
    }