Как посчитать количество файлов на сайте
Помогите, как посчитать и вывести на страницу количество rar архивов со всего сайта, а не с отдельного каталога?
Если говорить про PHP и иметься версия 5, то есть функция scandir:
Описание
array scandir ( string directory [, integer sorting_order] )
Возвращает array, содержащий имена файлов и каталогов, расположенных по пути, переданном в параметре directory. Если directory не является таковым, функция возвращает логическое значение FALSE и генерирует сообщение об ошибке уровня E_WARNING.
По умолчанию, сортировка производится в алфавитном порядке по возрастанию. Если указан необязательный параметр sorting_order (равен 1), сортировка производится в алфавитном порядке по убыванию.
$phandle = opendir($dir);
readdir($phandle); readdir($phandle);
while($pfile = readdir($phandle))
if(ereg(".rar$",$dir.$pfile))
{
$count++;
}
closedir($phandle);
$phandle = opendir($dir);
readdir($phandle); readdir($phandle);
while($pfile = readdir($phandle))
if(ereg(".rar$",$dir.$pfile))
{
$count++;
}
closedir($phandle);
Спасибо! Подскажи как реализовать поиск в подкаталогах если у меня каталоги идут в три уровня.
Спасибо! Подскажи как реализовать поиск в подкаталогах если у меня каталоги идут в три уровня.
Помниться когда только ещё взял PHP в руки такую функцию набросал (потому как тоже 4-ая версия пыха):
$dir=@dir ($path);
if ($dir == FALSE) {
return;
};
$dir_cont=array();
while (false !== ($file = $dir->read())) {
$path_dir="$path/$file";
if (is_dir($path_dir)) {
if ($file != "." && $file != "..") {
$dir_cont[$file]='yes';
};
};
if (preg_match ("/(jpg)$|(gif)$|(png)$/i", $file) == 1) {
$dir_cont[$file]='no';
};
};
$dir->close();
return $dir_cont;
};
Планировалось, что она будет искать файлы в движке фото галереи. Надеюсь сообразишь, что к чему.
Моя ф-ия с рекурсией:
if($dir[strlen($dir)-1]!='/') $dir.='/';
$phandle = opendir($dir);
readdir($phandle); readdir($phandle);
while($pfile = readdir($phandle)) {
if(is_dir($dir.$pfile)) @$count += CountRars($dir.$pfile);
else if(ereg(".rar$",$dir.$pfile)) @$count++;
}
closedir($phandle);
return ($count);
}
echo CountRars('test');