Подсчет занимаемого места в директории или поддомене

Возникла нестандартная ситуация — нужно на простом хостинге с панелью 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';

Ну а далее уже можно попросту написать условие в самом клиентском скрипте на ограничение возможностей после превышения допустимого занятого пространства.

This entry was posted in Php. Bookmark the permalink.

Добавить комментарий

Ваш адрес email не будет опубликован.

*