getimagesize

arraygetimagesize( string filename [, array &imageinfo] )
  
  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级的错误。
  注:对JPC,JP2,JPX,JB2,XBM和WBMP的支持自 PHP 4.3.2 起可用。对SWC的支持自 PHP 4.3.0 起可用。对TIFF的支持是 PHP 4.2.0 添加的。
  注:JPEG 2000 支持是 PHP 4.3.2 添加的。注意 JPC 和 JP2 可以有不同的色彩深度的成分。此情况下,“bits”的值是碰到的最高的位深度。此外,JP2 文件可能包含有多个 JPEG 2000 代码流,此情况下,getimagesize()返回此文件顶层中碰到的第一个代码流的值。
  注:本函数不需要 GD 图像库。
  返回一个具有四个单元的数组。索引 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。这些标记与 PHP 4.3.0 新加的 IMAGETYPE 常量对应。索引 3 是文本字符串,内容为“height="yyy" width="xxx"”,可直接用于 IMG 标记。
  例子 1. getimagesize(文件)
  <?php
  list($width,$height,$type,$attr) =getimagesize("img/flag.jpg");
  echo"<img src=\"img/flag.jpg\" $attr>";
  ?>
  URL 支持是 PHP 4.0.5 添加的。
  例子 2. getimagesize(URL)
  <?php
  $size=getimagesize("http://localhost/gifs/logo.gif");
  // if the file name has space in it, encode it properly
  $size=getimagesize("http://localhost/gifs/lo%20go.gif");
  ?>
  对于JPG图像,还会多返回两个索引:channels和bits。channels对于 RGB 图像其值为 3,对于 CMYK 图像其值为 4。bits是每种颜色的位数。
  自 PHP 4.3.0 起,bits和channels对于其它图像类型也存在。但是这些值可能会把人搞糊涂。例如,GIF总是对每个像素使用 3 个 channel,但是对于动画GIF来说每个像素的位数无法通过全局颜色表计算出来。
  某些格式可能不包含图像或者包含多个图像。此种情况下,getimagesize()可能不能用来准确测定图像的大小。此时getimagesize()将返回零作为宽度和高度。
  自 PHP 4.3.0 起,getimagesize()还会返回额外的参数mime,符合该图像的 MIME 类型。此信息可以用来在 HTTP Content-type 头信息中发送正确的信息:
  例子 3. getimagesize() 和 MIME 类型
  <?php
  $size=getimagesize($filename);
  $fp=fopen($filename,"rb");
  if ($size&&$fp) {
  header("Content-type: {$size['mime']}");
  fpassthru($fp);
  exit;
  } else {
  // error
  }
  ?>
  可选的imageinfo参数允许从图像文件中提取一些扩展信息。目前,这将以一个关联数组返回不同的JPGAPP 标识。某些程序用这些 APP 标识来在 图像中嵌入文本信息。
  例子 4. getimagesize() 返回 IPTC
  <?php
  $size=getimagesize("testimg.jpg", &$info);
  if (isset($info["APP13"])) {
  $iptc=iptcparse($info["APP13"]);
  var_dump($iptc);
  }
  ?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值