Если надо для каждого файла какие то условия проверять и glob с масками * и ? не подходит то используйте pathinfo, разбирает путь в виде строки и возвращает полезную информацию:
print_r(pathinfo('/path/file.ext.jpg'));
Array
(
[dirname] => /path
[basename] => file.ext.jpg
[extension] => jpg
[filename] => file.ext
)