Возникла нестандартная ситуация — нужно на простом хостинге с панелью cpanel сделать возможность ограничивать место для поддоменов. Так как в cpanel такого не предусмотрено, по-крайней мере для обычных пользователей, то пришлось искать вариант на php и он был найден.
Небольшая функция, позволяющая нам определить занятое пространство:
1) с использованием явного указания папки
function GetDirSize($dir){
$path = shell_exec("du -sk $dir");
preg_match( "/\d+/", $path, $size);
$size = round( $size[0] / 1024, 2 );
return $size;
}
echo GetDirSize('/home/user/public_html'). ' MB'; // пример использования
2) вариант, для отображения размера текущей папки
function GetDirSize(){
$path = shell_exec("du -sk ");
preg_match( "/\d+/", $path, $size);
$size = round( $size[0] / 1024, 2 );
return $size;
}
echo GetDirSize(). ' MB';
Ну а далее уже можно попросту написать условие в самом клиентском скрипте на ограничение возможностей после превышения допустимого занятого пространства.