Надо найти все файлы с любым расширением, почему, если в названии больше двух слов, то не ищет? Папки не надо
$str = 'Новый текстовый документ.txt';
echo preg_match('#[a-z0-9A-ZА-Яа-я\s]+\.[a-z]+#', $str);
почему, если в названии больше двух слов, то не ищет?
Потому что надо использовать глобальный поиск preg_match_all()
$str = 'Новый текстовый документ.txt';
preg_match_all('#[a-zа-яё0-9\s]+\.[a-z]+$#iu', $str, $arr);
var_dump($arr);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости