php getimagesize检测上传图片尺寸的多个例子

发布时间:2020-05-03编辑:脚本学堂
有关php getimagesize函数的用法,getimagesize用于检测图片尺寸的几个例子,包括判断上传图片尺寸的方法与例子,需要的朋友参考下。

php getimagesize检测上传图片尺寸

在php中获取上传图片尺寸大小,主要使用php内置函数getimagesize实现,如果对上传图片有限制,则可通过此函数的返回值来判断上传图片的高度、宽度等尺寸(像素值)是否符合规定值,若过大或过小,则给出提示。

例1,php getimagesize判断上传图片尺寸。
 

复制代码 代码示例:
function CheckImageSize($ImageFileName,$LimitSize)
{
  $size=GetImageSize($ImageFileName);
  if ($size[0]>$LimitSize[0]||$size[1]>$LimitSize[1]){
   echo '对不起,你要上传的图片尺寸太大';
  return false;
  }
return true;
}

注意,GetImageSize()函数的返回值是一个数组。

例如:
 

Array
(
[0] => 350 //图像宽度像素值
[1] => 318 //图像高度像素值
[2] => 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] => width=”350″ height=”318″ //用于HTML的<image>标签,可直接使用
[bits] => 8//图像的每种颜色的位数,二进制
[channels] => 3 //图像的通道值,RGB图像一般是3
[mime] => image/jpeg //可选的MIME信息,可直接用在HTML的HTTP Content-type标签中
)
 

GetImageSize()函数无需GD库支持,传入的参数值可以是路径、也可以是URL,要保证被检测的图片对象是存在的。

第二部分,getimagesize 取得图片尺寸,该方法须先启用GD函式库。
在 php.ini 中找到 ;extension=php_gd2.dll 把前面的分号去掉。

例2:
 

复制代码 代码示例:
$arr = getimagesize("1.jpg");
/*
* 这里$arr为一个数组类型
* $arr[0] 为图像的寬度
* $arr[1] 为图像的高度
* $arr[2] 为图像的格式,包括jpg、gif和png等
* $arr[3] 为图像的宽度和高度,內容为 width="xxx" height="yyy" */

例3,getimagesize函数用法。
 

复制代码 代码示例:
<?php
$size = getimagesize($filename);
$fp=fopen($filename, "rb");
if ($size && $fp) { // www.jb200.com
  header("Content-type: {$size['mime']}");
  fpassthru($fp);
  exit;
} else {
  // error
}
?>

例4,getimagesize函数用法(来自php手册中的例子)。
 

复制代码 代码示例:
<?php
$size = getimagesize("testimg.jpg", &$info);
if (isset($info["APP13"])) {
    $iptc = iptcparse($info["APP13"]);
    var_dump($iptc);
}
?>