PHP如何获取图片的尺寸与类型基本信息

文章作者:中山市飞娥软件工作室「Feiesoft.com」  浏览次数:4227 次  更新日期:2014-04-18

array getImagesize ( string $filename [,array &$Imageinfo ] ) — 取得图像大小
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP
图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。

如果不能访问 $filename 指定的图像或者其不是有效的图像, getimagesize() 将返回 FALSE 并产生一条 E_WARNING 级的错误。

返回四个单元的数组:
索引 0 包含图像宽度的像素值
索引 1 包含图像高度的像素值
索引 2 是图像类型的标记:
 1 = GIF,2 = JPG,3 = PNG,4 = SWF,5 = PSD,6 = BMP,
 7 = TIFF(intel byte order),8 = TIFF(motorola byte order),9 = JPC,10 = JP2,
 11 = JPX,12 = JB2,13 = SWC,14 = IFF,15 = WBMP,16 = XBM
索引 3 是文本字符串,内容为"height="yyy" width="xxx"",可直接用于 IMG 标记
如:Array ( [0] => 198 [1] => 96 [2] => 3 [3] => width="198" height="96" [bits] => 8 [mime] => image/png )
对于 JPG 图像,还会多返回两个索引:channels 和 bits。
channels 对于 RGB 图像其值为 3,对于 CMYK 图像其值为 4。bits 是每种颜色的位数。
Array ( [0] => 8 [1] => 43 [2] => 2 [3] => width="8" height="43" [bits] => 8 [channels] => 3 [mime] => image/jpeg )

备注:CMYK也称作印刷色彩模式,是一种依靠反光的色彩模式,和RGB类似,CMY是3种印刷油墨名称的首字母:青色Cyan、品红色Magenta、黄色Yellow。其中K是源自一种只使用黑墨的印刷版Key Plate。从理论上来说,只需要CMY三种油墨就足够了,它们三个加在一起就应该得到黑色。但是由于目前制造工艺还不能造出高纯度的油墨,CMY相加的结果实际是一种暗红色。