首页 > 编程笔记

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 个元素的数组:
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 类型。

推荐阅读