PHP getimagesize 图像GD库函数
-
定义和用法
getimagesize - 取得图像大小。 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 -
语法
getimagesize ( string $filename [, array &$imageinfo ] )
函数将测定任何 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 标记。 -
参数
参数 必需的 描述 filename 是 此参数指定您要检索其信息的文件。 它可以使用支持的流之一来引用本地文件或(允许配置)远程文件。 imageinfo 否 此可选参数使您可以从图像文件中提取一些扩展信息。 当前,这将返回不同的JPG APP标记作为关联数组。 一些程序使用这些APP标记在图像中嵌入文本信息。 -
返回值
返回具有7个元素的数组。 索引0和1分别包含图像的宽度和高度。注意:些格式可能不包含图像,也可能包含多个图像。 在这些情况下,getimagesize()可能无法正确确定图像大小。 在这种情况下,getimagesize() 的宽度和高度将返回零。
索引2是IMAGETYPE_XXX常量之一,指示图像的类型。 索引3是具有正确的height =“ yyy” width =“ xxx”字符串的文本字符串,可以直接在IMG标签中使用。 mime是图像的对应MIME类型。 此信息可用于传递带有正确的HTTP Content-type标头的图像. -
示例
$size = getimagesize("https://www.cainiaoya.com/images/f1.jpg"); var_dump($size);
返回如下结果:array(7) { [0]=> int(200) [1]=> int(250) [2]=> int(2) [3]=> string(24) "width="200" height="250"" ["bits"]=> int(8) ["channels"]=> int(3) ["mime"]=> string(10) "image/jpeg" }
-
相关函数
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 图像中的缩略图