PHP: Функция подсчета размера папки
Просто и быстро считаем размер папки.
PHP код:
function GetDirSize($dir){
$res = shell_exec("du -sk $dir");
preg_match( "/\d+/", $res, $KB);
$MB = round( $KB[0] / 1024, 2 );
return $MB;
}
Использование
PHP код:
echo GetDirSize('/path/to/dir'). ' MB';
Можно доавить конвертацию в удобочитаемый вид, например так:
PHP код:
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;
}
Использовать так:
PHP код:
echo MakeSize(GetDirSize('/path/to/dir'));