How to convert Bytes to Kb, Mb in PHP

Snippet

Give function size in bytes and precision(2 by default):

downloadcopy
<?php
function formatBytes($size, $precision = 2){
    $base = log($size, 1024);
    $suffixes = array('Bytes', 'Kb', 'Mb', 'Gb', 'Tb');
    return round(pow(1024, $base - floor($base)), $precision) .' '. $suffixes[floor($base)];
}

// "1000 Bytes"
echo formatBytes(1000);

// "9.42 Mb"
echo formatBytes(9874321);