词条 | getimagesize |
释义 | arraygetimagesize( 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级的错误。 注:对JPC,JP2,JPX,JB2,XBM和WBMP的支持自 PHP 4.3.2 起可用。对SWC的支持自 PHP 4.3.0 起可用。对TIFF的支持是 PHP 4.2.0 添加的。 注:JPEG 2000 支持是 PHP 4.3.2 添加的。注意 JPC 和 JP2 可以有不同的色彩深度的成分。此情况下,“bits”的值是碰到的最高的位深度。此外,JP2 文件可能包含有多个 JPEG 2000 代码流,此情况下,getimagesize()返回此文件顶层中碰到的第一个代码流的值。 注:本函数不需要 GD 图像库。 返回一个具有四个单元的数组。索引 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。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。 例子 1. getimagesize(文件) <?php list($width,$height,$type,$attr) =getimagesize("img/flag.jpg"); echo"<img src=\\"img/flag.jpg\\" $attr>"; ?> URL 支持是 PHP 4.0.5 添加的。 例子 2. getimagesize(URL) <?php $size=getimagesize("http://localhost/gifs/logo.gif"); // if the file name has space in it, encode it properly $size=getimagesize("http://localhost/gifs/lo%20go.gif"); ?> 对于JPG图像,还会多返回两个索引:channels和bits。channels对于 RGB 图像其值为 3,对于 CMYK 图像其值为 4。bits是每种颜色的位数。 自 PHP 4.3.0 起,bits和channels对于其它图像类型也存在。但是这些值可能会把人搞糊涂。例如,GIF总是对每个像素使用 3 个 channel,但是对于动画GIF来说每个像素的位数无法通过全局颜色表计算出来。 某些格式可能不包含图像或者包含多个图像。此种情况下,getimagesize()可能不能用来准确测定图像的大小。此时getimagesize()将返回零作为宽度和高度。 自 PHP 4.3.0 起,getimagesize()还会返回额外的参数mime,符合该图像的 MIME 类型。此信息可以用来在 HTTP Content-type 头信息中发送正确的信息: 例子 3. getimagesize() 和 MIME 类型 <?php $size=getimagesize($filename); $fp=fopen($filename,"rb"); if ($size&&$fp) { header("Content-type: {$size['mime']}"); fpassthru($fp); exit; } else { // error } ?> 可选的imageinfo参数允许从图像文件中提取一些扩展信息。目前,这将以一个关联数组返回不同的JPGAPP 标识。某些程序用这些 APP 标识来在 图像中嵌入文本信息。 例子 4. getimagesize() 返回 IPTC <?php $size=getimagesize("testimg.jpg", &$info); if (isset($info["APP13"])) { $iptc=iptcparse($info["APP13"]); var_dump($iptc); } ?> |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。