php函数getimagesize

来源:互联网 发布:傅园慧网络直播平台 编辑:程序博客网 时间:2024/06/10 03:04

一.代码段一

<?php

$img="images/login_bg.png";

list($width,$height,$type,$attr) = getimagesize($img);

echo $attr;

?>

上述代码中

$img是自定义的图片路径名,login.png是目标图片

$width表示图片的宽度

$height表示图片的高度

$type表示图片的类型

$attr是一个包括了高度和宽度的字符串


上述代码的执行结果为   width="9" height="5"


array getimagesize ( string $filename [, array &$imageinfo ] )为getmagesize函数原型。

该函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。

函数getimagesize()用于获取图像大小及相关信息,该函数参数为字符串表示的图像资源。图像资源可以是服务器图片(后者URL图片)等可以获取的资源,也可以是用户表单上传的图像资源。

该函数的返回值是一个数组,内容大致如下:
Array
(
    [0] => 350
    [1] => 318
    [2] => 2
    [3] => width=”350″ height=”318″
    [bits] => 8
    [channels] => 3
    [mime] => image/jpeg
)
索引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的<image>标签;
索引bits给出的是图像的每种颜色的位数,二进制;
索引channels给出的是图像的通道值,RGB图像默认是3;
索引mime给出的是图像的MIME信息,此信息可以用来在 HTTP Content-type 头信息中发送正确的信息,如: 
header(“Content-type: image/jpeg”)



利用geimagesize函数将图片显示在浏览器中

方法一:

<?php
    $filename= "images/banner1.JPG";
    $size = getimagesize($filename);
    $fp = fopen($filename,"rb");    //以二进制方式打开二进制文件
    if ($size && $fp)
    {
        header("Content-type: {$size['mime']}");
        fpassthru($fp);             //输出浏览器
        exit;
    }
?>

上述代码中

$filename是自定义的文件路径名,banner1.JPG是目标图片

fpassthru() 函数从打开文件的当前位置开始读取所有数据,直到文件末尾(EOF),并向输出缓冲写结果。该函数返回传递的字符数,如果失败则返回 FALSE。

当在 Windows 系统的二进制文件中使用 fpassthru() 函数时,必须以二进制的模式打开文件。




方法二:此方法中getimagesize方法不是必要的。直接用echo "<img src=\"img/flag.jpg\" $attr>";即可输出,只是这里为了讲述getimagesize方法才将getimagesize加上,以示区别

<?php
list($width$height$type$attr) = getimagesize("img/flag.jpg");
echo 
"<img src=\"img/flag.jpg\" $attr>";
?>






0 0