Как в 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);
→ Ссылка