PHP getimagesize():获取图像大小

PHP getimagesize() 函数用来获取图像的大小,其语法如下:

array getimagesize ( string $filename [, array &$imageinfo ] )

getimagesize() 函数的参数和返回结果相同。

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 级的错误。

getimagesize() 函数返回一个至少具有 4 个元素的数组:

  • 索引 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=PX,12=JB2,13=SWC,14=IFF,15=WBMP,16=XBM。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。
  • 索引 3 是文本字符串,内容为 "height="yyy"width="xxx"",可直接用于 IMG 标记。

getimagesize() 还会返回额外的参数 mime,符合该图像的 MIME 类型。此信息可以用来在 HTTP Content-type 头信息中发送正确的信息。

对于 JPG 图像,还会多返回两个索引:channels 和 bits。对于 RGB 图像,channels 值为 3;对于 CMYK 图像,channels 值为 4。bits 是每种颜色的位数。

示例如下:

<?php
//echo phpinfo();
echo "<pre>";
print_r(getimagesize('123.jpg'));
?>

执行以上程序的输出结果如下:

Array
(
    [0] => 961
    [1] => 640
    [2] => 2
    [3] => width="961" height="640"
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)

由打印的数组可知,此图像宽度的像素值是 961,图像高度的像素值是 640,索引 2 的值为 2,说明图像是 JPG 图像,除此之外,还获得了图像的 channels、bits 以及 mime 类型。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/21361.html

(0)
上一篇 2021年7月20日
下一篇 2021年7月20日

相关推荐

发表回复

登录后才能评论