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

Возникла нестандартная ситуация — нужно на простом хостинге с панелью 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 не будет опубликован. Обязательные поля помечены *

*