PHP: getimagesize возвращает значение константы imagetype вместо константы IMAGETYPE_XXX

В соответствии с php.net для функции getimagesize:

Индекс 2 является одной из констант IMAGETYPE_XXX, указывающих тип
изображение.

Однако когда я использую getimagesize, я получаю значения констант вместо этого. Например, это для GIF:

Array
(
[0] => 1246
[1] => 1397
[2] => 1
[3] => width="1246" height="1397"[bits] => 6
[channels] => 3
[mime] => image/gif
)

И это для PNG:

Array
(
[0] => 900
[1] => 900
[2] => 3
[3] => width="900" height="900"[bits] => 8
[mime] => image/png
)

Я ожидаю получить IMAGETYPE_GIF или IMAGETYPE_PNG вместо 1 и 3.

Я могу справиться с этим в своем приложении, но мне интересно, почему я получаю значения вместо констант.

Моя версия PHP 5.6.14. На случай, если это связано, расширения GD и exif установлены и включены. Я просто звоню

getimagesize($pathToImage)

без второго параметра.

1

Решение

Константа состоит только из ее значения. Это эффективно является значение, просто под другим именем.

IMAGETYPE_GIF === 1 // true

Это в основном то же самое, что сказать, что ты не ожидал

echo 0xff;

печатать 255, но 0xff,
0xff является 255,

Это просто разные понятные человеку представления для одного и того же значения.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]