Опубликовано : admin в (PHP, Мелкие заметки)

Функция подсчета размера папки

Теги: ,

Просто и быстро считаем размер папки.

function GetDirSize($dir){
    $res = shell_exec("du -sk $dir");
    preg_match( "/\d+/", $res, $KB);
    $MB = round( $KB[0] / 1024, 2 );
    return $MB;
}
Использование
echo GetDirSize('/path/to/dir'). ' MB';

Можно доавить конвертацию в удобочитаемый вид, например так:

function MakeSize($bytes){
$size = ($bytes >= (1024 * 1024 * 1024 * 1024))
? round($bytes / (1024 * 1024 * 1024 * 1024), 2)." TB"
: (($bytes >= (1024 * 1024 * 1024))
? round($bytes / (1024 * 1024 * 1024), 2)." GB"
: (($bytes >= (1024 * 1024))
? round($bytes / (1024 * 1024), 2)." MB"
: round($bytes / 1024, 2)." KB"));
return $size;
}
Использовать так:
echo MakeSize(GetDirSize('/path/to/dir'));

Оставить комментарий