本文主要介绍利用PHP获取到指定图片的宽高尺寸以及文件类型等信息。在php中有个内置函数getimagesize(),可以获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。
语法格式:
array getimagesize ( string $filename [, array &$imageinfo ] )
getimagesize() 函数可以得到任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
下面我们就来看看getimagesize()的使用方法吧,我们结合两个实例分别介绍获取本地图片和远程图片的信息。
实例1:本地图片文件
<?php list($width, $height, $type, $attr) = getimagesize("webym-logo.png"); echo "宽度为:" . $width; echo "高度为:" . $height; echo "类型为:" . $attr; ?>
以上实例输出结果为:
高度为:39
类型为:3
属性:width="190" height="39"
实例2:远程图片文件
<?php $remote_png_url = 'https://www.ae256.com/img/bangongdizhi.jpg'; $img_data = getimagesize($remote_png_url); print_r($img_data ); ?>
以上实例输出结果为:
Array ( [0] => 495 [1] => 347 [2] => 3 [3] => width="290" height="69" [bits] => 8 [mime] => image/png )
返回结果说明:
索引 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 给出的是一个宽度和高度的字符串,可以直接用于 HTML 的
索引 bits 给出的是图像的每种颜色的位数,二进制格式
索引 channels 给出的是图像的通道值,RGB 图像默认是 3
索引 mime 给出的是图像的 MIME 信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: header("Content-type: image/jpeg");