Как найти расширение изображения от пути в PHP?

Есть ли какая-либо стандартная функция в PHP для нахождения только расширения изображения от соответствующего пути к файлу?

Например, и следующие мой канал передачи изображения похож на '/testdir/dir2/image.gif' затем, функция должна возвратить 'gif'.

Спасибо

11
задан Siva 5 July 2010 в 12:02
поделиться

5 ответов

$ext = pathinfo('/testdir/dir2/image.gif', PATHINFO_EXTENSION); //$ext will be gif

UPDATE: Я вижу много голосов "против". В чем проблема с моим подходом? Пожалуйста, дайте мне знать.

45
ответ дан 3 December 2019 в 00:44
поделиться

Обычно более желательно определять фактическое изображение типа (не по расширению, а по его содержимому). Для этого используйте getimagesize () .

15
ответ дан 3 December 2019 в 00:44
поделиться

Я бы порекомендовал вам запускать любые загруженные / связанные изображения с помощью проверки GD / ImageMagick и повторно сохраните его, чтобы предотвратить скрытие вредоносных кодов внутри изображений. Это также позволит вам сохранить все изображения с одним и тем же расширением, чтобы упростить вам задачу.

http://www.php.net/imagepng
http://www.php.net/imagegif
http://www.php.net/imagejpeg

0
ответ дан 3 December 2019 в 00:44
поделиться

Как упомянул полковник Шрапнель; есть несколько способов

$path = '/some/where/img.gif';
$path = explode('.',$path);
$path = end($path);
1
ответ дан 3 December 2019 в 00:44
поделиться

Основные строковые функции, strrpos () и substr () могут сделать это за вас. А также многие другие навороченные способы.

-2
ответ дан 3 December 2019 в 00:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: