views:

1257

answers:

4

Does anyone know all the possible results for the 3rd value returned from PHP's getimagesize() function?

Example this code below will return

$imageinfo['2'] = 2; for a jpg image $imageinfo['2'] = 3; for a png image $imageinfo['2'] = 0; for a gif image

the numbers might not be correct above but you get the idea.

I can not find on php.net or anywhere else a list of all possible results for the 3rd value

$imageinfo = getimagesize($imageurl);
$image_type  = $imageinfo['2'];
A: 

That index contains the value of one of PHP's IMAGETYPE_XXX constants. An entire list of them can be found on that page, towards the bottom. That page doesn't provide the actual INT value of each one but you should be able to print a few to get the values as necessary. You could also do a comparison check if you're looking for a specific one:

if ($imageinfo[2] == IMAGETYPE_IFF) {
  // Code here
}
Steven Surowiec
A: 

Hi,

Quoting the manual :

Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.

And you can find those constants onh this page, amongst the other defined by GD

Pascal MARTIN
A: 

getimagesize returns a value of one of the following IMAGETYPE_* constants.

Gumbo
+5  A: 

Execute this:

print_r(get_defined_constants());

And then look for constants prefixed with IMAGETYPE_. On my PHP 5.3 installation I got these values:

[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

As you can see Flash SWF are considered images, and actually getimagesize() is able to read the width and height of a SWF object. To me it seemed like a curiosity when I first discovered it, that's why mentioned it here.

Ionuț G. Stan