Как получить общий размер файлов в каталоге? php
Функция принимает параметр имя директории. Пытаюсь рассчитать размер всех файлов в папке. Что делаю не так?
function t8($path)
{
$x = "";
foreach (glob($path) as $file) {//glob — Находит файловые пути, совпадающие с шаблоном
$x .= filesize($file);
}
return var_dump($x);
}
Ответы (1 шт):
Автор решения: KoRn
→ Ссылка
function t8($path)
{
$x = 0;
if($r = opendir($path)){// открываем папку
while(false !== ($c = readdir($r))){/
// readdir($r)) - читает по очереди имена файлов и папок и засовывает в $c
// в момент когда все файлы и папки прочитаны в $c команда readdir засунет в $c значение false
// Сработает false !== false и цикл while остановится. Т.е. закончит читать папку
if ($c != "." && $c != ".." ){ //в любой папке любой ОС есть элементы ссылки
//на текущий каталог . (одна точка) и на родителя .. (две точки)
// они скрыты, но есть - нам они не нужны - откидываем этой командой
// непосредственно находящийся выше текущего справочника в иерархии файловой системы.
// Справочник, представленный двумя точками, называется родительским для справочника,
// обозначенного одной точкой (вашего текущего справочника).
echo "$c\n"; // универсальный символ перевода строки в консоли
$x += filesize($path.'/'.$c);//путь к файоу, имя папки имя файла
}
}
closedir($r);//закрыли диреткорию
}
return $x;
}