Есть ли какая-либо стандартная функция в PHP для нахождения только расширения изображения от соответствующего пути к файлу?
Например, и следующие мой канал передачи изображения похож на '/testdir/dir2/image.gif' затем, функция должна возвратить 'gif'.
Спасибо
$ext = pathinfo('/testdir/dir2/image.gif', PATHINFO_EXTENSION); //$ext will be gif
UPDATE: Я вижу много голосов "против". В чем проблема с моим подходом? Пожалуйста, дайте мне знать.
Обычно более желательно определять фактическое изображение типа (не по расширению, а по его содержимому). Для этого используйте getimagesize ()
.
Я бы порекомендовал вам запускать любые загруженные / связанные изображения с помощью проверки GD / ImageMagick и повторно сохраните его, чтобы предотвратить скрытие вредоносных кодов внутри изображений. Это также позволит вам сохранить все изображения с одним и тем же расширением, чтобы упростить вам задачу.
http://www.php.net/imagepng
http://www.php.net/imagegif
http://www.php.net/imagejpeg
Как упомянул полковник Шрапнель; есть несколько способов
$path = '/some/where/img.gif';
$path = explode('.',$path);
$path = end($path);
Основные строковые функции, strrpos ()
и substr ()
могут сделать это за вас. А также многие другие навороченные способы.