Функция на PHP для определения размера каталога
Функция на PHP определяет размер указанного каталога, включая все подкаталоги в байтах.
<?php
function DirSize($path){
/*
$path - полный путь к директории
*/
$returnSize=0;
//Функция opendir возвращает список с содержимым указанного каталога.
if (!$h = @opendir($path)) return false;
/*
В цикле при помощи функции readdir последовательно
обрабатываем каждый элементы каталога.
*/
while (($element = readdir($h)) !== false) {
//Исключаем директории "." и ".."
if ($element<>"." and $element<>".."){
//Полний путь к обрабатываемому элементу(файл/папка)
$all_path = $path."/".$element;
/*
Если текущий элемент - файл, определяем его размер
с помощью filesize() и суммируем его к переменой $returnSize
*/
if (@filetype($all_path)=="file"){
$returnSize+=filesize($all_path);
/*
Если текущий элемент - каталог, функция вызывает саму себя,
результат суммируется к переменой $returnSize
*/
}elseif (@filetype($all_path)=="dir"){
@$returnSize+=DirSize($all_path);
}
}
}
closedir($h);
return $returnSize;
}
?>
Вызов функции, в качестве единственного параметра нужно указать полный путь до каталога:
print DirSize("Полный путь до каталога");
Комментарии:
Нету комментариев для вывода...