• 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 类型。

更多...

加载中...