Я обнаружил, что решения pathinfo()
и SplFileInfo
хорошо работают для стандартных файлов в локальной файловой системе, но вы можете столкнуться с трудностями, если работаете с удаленными файлами, поскольку URL-адреса для допустимых изображений могут иметь #
(идентификаторы фрагментов) и / или ?
(параметры запроса) в конце URL, которые оба эти решения (неверно) будут рассматривать как часть расширения файла.
Я обнаружил, что это надежный способ использования pathinfo()
для URL-адреса после первого его анализа, чтобы удалить ненужный беспорядок после расширения файла:
$url_components = parse_url($url); // First parse the URL
$url_path = $url_components['path']; // Then get the path component
$ext = pathinfo($url_path, PATHINFO_EXTENSION); // Then use pathinfo()