PHP:getimagesize返回imagetype constant的值而不是IMAGETYPE_XXX常量

时间:2015-10-17 09:09:08

标签: php getimagesize

根据php.net的getimagesize功能:

  

索引2是指示其类型的IMAGETYPE_XXX常量之一   图像。

然而,当我使用getimagesize时,我得到了常量的值。例如,这是一个gif:

strcmp

这是一个png:

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

我希望得到IMAGETYPE_GIF或IMAGETYPE_PNG而不是1和3。

我可以在我的应用程序中处理这个问题,但我想知道为什么我得到值而不是常量。

我的PHP版本是5.6.14。万一它是相关的,GD和exif扩展都安装和启用。我只是打电话给

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

没有第二个参数。

1 个答案:

答案 0 :(得分:0)

常数只包含其值。它实际上只有另一个名称

IMAGETYPE_GIF === 1 // true

这与说你没想到的基本相同

echo 0xff;

打印255,但0xff 0xff 255

对于相同的值,这些只是不同的人类可读表示。