Как в PHP просканировать папку и все подпапки и взять файлы с расширением html?
Мне нужно просканировать изначальную папку и все её подпапки и подпапки подпапок и брать файлы только с расширением html. Этот мой скрипт сканирует только самую верхнюю папку, а подпапки - нет.
<?php
header('Content-Type: application/json');
$filelist = glob("../*.html");
echo json_encode($filelist);
Ответы (2 шт):
Автор решения: Ипатьев
→ Ссылка
В нормальном окружении можно написать
$filelist = shell_exec('find .. -name "*.php"')
Автор решения: Arsen
→ Ссылка
Для данной задачи вам необходимо обойти все директории/поддиректории. Можете воспользоваться RecursiveDirectoryIterator (PHP >= 5.6)
Как пример для обхода:
$Dr = new RecursiveDirectoryIterator('path_project/');
$List = new RecursiveIteratorIterator($Dr);
$Files = new RegexIterator($List, '/^.+\.html$/i', RecursiveRegexIterator::GET_MATCH);
print_r($Files);