位置: 编程技术 - 正文
推荐整理分享PHP:getimagesize()的用法_GD库图像处理函数,希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!
(PHP 4, PHP 5)
getimagesize — 取得图像大小
说明 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 级的错误。
Note:
对 JPC,JP2,JPX,JB2,XBM 和 WBMP 的支持自 PHP 4.3.2 起可用。对 SWC 的支持自 PHP 4.3.0 起可用。对 TIFF 的支持是 PHP 4.2.0 添加的。
Note: JPEG 支持是 PHP 4.3.2 添加的。注意 JPC 和 JP2 可以有不同的色彩深度的成分。此情况下,“bits”的值是碰到的最高的位深度。此外,JP2 文件可能包含有多个 JPEG 代码流,此情况下,getimagesize() 返回此文件顶层中碰到的第一个代码流的值。
Note: 本函数不需要 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, = JP2, = JPX, = JB2, = SWC, = IFF, = WBMP, = XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
Example #1 getimagesize(文件)
<?phplist($width,$height,$type,$attr)=getimagesize("img/flag.jpg");echo"<imgsrc="img/flag.jpg"$attr>";?>URL 支持是 PHP 4.0.5 添加的。
Example #2 getimagesize(URL)
<?php$size=getimagesize("对于 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 头信息中发送正确的信息:
Example #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 参数允许从图像文件中提取一些扩展信息。目前,这将以一个关联数组返回不同的 JPG APP 标识。某些程序用这些 APP 标识来在图像中嵌入文本信息。一个非常常见的是 APP 标识中嵌入的 IPTC » 信息。可以用 iptcparse() 函数来将二进制的 APP 标识解析为可读的信息。
Example #4 getimagesize() 返回 IPTC
<?php$size=getimagesize("testimg.jpg",&$info);if(isset($info["APP"])){$iptc=iptcparse($info["APP"]);var_dump($iptc);}?>参见 image_type_to_mime_type(),exif_imagetype(),exif_read_data() 和 exif_thumbnail()。
参数filename
This parameter specifies the file you wish to retrieve information about. It can reference a local file or (configuration permitting) a remote file using one of the supported streams.
imageinfoThis optional parameter allows you to extract some extended information from the image file. Currently, this will return the different JPG APP markers as an associative array. Some programs use these APP markers to embed text information in images. A very common one is to embed »IPTC information in the APP marker. You can use the iptcparse() function to parse the binary APP marker into something readable.
返回值Returns an array with 7 elements.
Index 0 and 1 contains respectively the width and the height of the image.
Note:
Some formats may contain no image or may contain multiple images. In these cases, getimagesize() might not be able to properly determine the image size. getimagesize() will return zero for width and height in these cases.
Index 2 is one of the IMAGETYPE_XXX constants indicating the type of the image.
Index 3 is a text string with the correct height="yyy" width="xxx" string that can be used directly in an IMG tag.
mime is the correspondant MIME type of the image. This information can be used to deliver images with the correct HTTP Content-type header:
Example #5 getimagesize() and MIME types
<?php$size=getimagesize($filename);$fp=fopen($filename,"rb");if($size&&$fp){header("Content-type:{$size['mime']}");fpassthru($fp);exit;}else{//error}?>channels will be 3 for RGB pictures and 4 for CMYK pictures.
bits is the number of bits for each color.
For some image types, the presence of channels and bits values can be a bit confusing. As an example, GIF always uses 3 channels per pixel, but the number of bits per pixel cannot be calculated for an animated GIF with a global color table.
On failure, FALSE is returned.
错误/异常If accessing the filename image is impossible, or if it isnt a valid picture, getimagesize() will generate an error of level E_WARNING. On read error, getimagesize() will generate an error of level E_NOTICE.
更新日志版本 说明 5.3.0 Added icon support. 5.2.3 Read errors generated by this function downgraded to E_NOTICE from E_WARNING. 4.3.2 Support for JPC, JP2, JPX, JB2, XBM, and WBMP became available. 4.3.2 JPEG support was added for the imageinfo parameter. 4.3.0 bits and channels are present for other image types, too. 4.3.0 mime was added. 4.3.0 Support for SWC and IFF was added. 4.2.0 Support for TIFF was added. 4.0.6 Support for BMP and PSD was added. 4.0.5 URL support was added.
范例
Example #6 getimagesize() example
<?phplist($width,$height,$type,$attr)=getimagesize("img/flag.jpg");echo"<imgsrc="img/flag.jpg"$attralt="getimagesize()example"/>";?>Example #7 getimagesize (URL)
<?php$size=getimagesize("Example #8 getimagesize() returning IPTC
<?php$size=getimagesize("testimg.jpg",$info);if(isset($info["APP"])){$iptc=iptcparse($info["APP"]);var_dump($iptc);}?> 注释Note:
此函数不需要 GD 图象库。
参见image_type_to_mime_type() - 取得 getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型 exif_imagetype() - 判断一个图像的类型 exif_read_data() - 从 JPEG 或 TIFF 文件中读取 EXIF 头信息 exif_thumbnail() - 取得嵌入在 TIFF 或 JPEG 图像中的缩略图
PHP:imageaffine()的用法_GD库图像处理函数 imageaffine(PHP5=5.5.0)imageaffine返回经过仿射变换后的图像,剪切区域可选说明resourceimageaffine(resource$image,array$affine[,array$clip])Warning本函数还未编写文档,仅
PHP:image2wbmp()的用法_GD库图像处理函数 image2wbmp(PHP4=4.0.5,PHP5)image2wbmp以WBMP格式将图像输出到浏览器或文件说明intimage2wbmp(resource$image[,string$filename[,int$threshold]])image2wbmp()从image图像创建一个名为f
PHP:image_type_to_extension()的用法_GD库图像处理函数 image_type_to_extension(PHP5)image_type_to_extension取得图像类型的文件后缀说明stringimage_type_to_extension(int$imagetype[,bool$include_dot=TRUE])根据给定的常量IMAGETYPE_XXX返回
标签: PHP:getimagesize()的用法_GD库图像处理函数
本文链接地址:https://www.jiuchutong.com/biancheng/288392.html 转载请保留说明!友情链接: 武汉网站建设