有谁知道PHP的getimagesize()函数返回的第3个值的所有可能结果?示例此代码将返回:
$imageinfo['2'] = 2;对于jpg图像,$imageinfo['2'] = 3;对于png图像,$imageinfo['2'] = 0;对于gif图像.上面的数字可能不正确,但你明白了.
我无法在php.net或其他任何地方找到第3个值的所有可能结果的列表.
$imageinfo = getimagesize($imageurl);
$image_type = $imageinfo['2'];
Run Code Online (Sandbox Code Playgroud)
Ion*_*tan 29
执行:
print_r(get_defined_constants());
Run Code Online (Sandbox Code Playgroud)
然后查找以IMAGETYPE_为前缀的常量.在我的PHP 5.3安装上,我得到了以下值:
[IMAGETYPE_GIF] => 1
[IMAGETYPE_JPEG] => 2
[IMAGETYPE_PNG] => 3
[IMAGETYPE_SWF] => 4
[IMAGETYPE_PSD] => 5
[IMAGETYPE_BMP] => 6
[IMAGETYPE_TIFF_II] => 7
[IMAGETYPE_TIFF_MM] => 8
[IMAGETYPE_JPC] => 9
[IMAGETYPE_JP2] => 10
[IMAGETYPE_JPX] => 11
[IMAGETYPE_JB2] => 12
[IMAGETYPE_SWC] => 13
[IMAGETYPE_IFF] => 14
[IMAGETYPE_WBMP] => 15
[IMAGETYPE_JPEG2000] => 9
[IMAGETYPE_XBM] => 16
[IMAGETYPE_ICO] => 17
[IMAGETYPE_UNKNOWN] => 0
[IMAGETYPE_COUNT] => 18
Run Code Online (Sandbox Code Playgroud)
如您所见,Flash SWF被视为图像,实际上getimagesize()能够读取SWF对象的宽度和高度.对我而言,当我第一次发现它时,这似乎是一种好奇心,这就是为什么在这里提到它.
该索引包含PHP的IMAGETYPE_XXX常量之一的值.可以在该页面的底部找到它们的完整列表.该页面不提供每个页面的实际INT值,但您应该能够打印一些以获取必要的值.如果您正在寻找特定的一个,您还可以进行比较检查:
if ($imageinfo[2] == IMAGETYPE_IFF) {
// Code here
}
Run Code Online (Sandbox Code Playgroud)