glob() или порыться в инете, может ещё чего готовое найдётся.
Или самому вручную написать с обходом каталогов и под каталогов. Кстати неплохое упражнение. Можно на собеседовании предлагать. Кажется все просто, но есть немного подводных камней, чтобы проверить на адекватность