📜  PHP | getimagesize()函数(1)

📅  最后修改于: 2023-12-03 15:18:23.255000             🧑  作者: Mango

PHP | getimagesize()函数

简介

在 PHP 中,使用 getimagesize() 函数可以读取图像文件的信息,包括:图片尺寸、类型、MIME 类型以及额外的信息。此函数不需要打开图像文件,可以直接从本地文件路径、远程 URL、数据流中读取图像信息。

语法
getimagesize($filename, &$imageinfo);

参数说明:

  • $filename:必需。要读取的图片文件路径。
  • $imageinfo:必需。返回图片信息的数组。

返回值:

如果函数执行成功,将返回一个数组,包含以下元素:

  • 0:图片宽度(像素)。
  • 1:图片高度(像素)。
  • 2:图片类型,用一个整数表示。可能的值有:IMAGETYPE_GIF、IMAGETYPE_JPEG、IMAGETYPE_PNG、IMAGETYPE_SWF、IMAGETYPE_PSD、IMAGETYPE_BMP、IMAGETYPE_TIFF_II(intel 字节顺序)IMAGETYPE_TIFF_MM( Motorola字节顺序)、IMAGETYPE_JPC、IMAGETYPE_JP2、IMAGETYPE_JPX、IMAGETYPE_JB2、IMAGETYPE_SWC、IMAGETYPE_IFF、IMAGETYPE_WBMP、IMAGETYPE_XBM、IMAGETYPE_ICO。
  • 3:图片类型的字符串描述,比如 "PNG"、"JPEG" 等。
  • channels:通道数,为 3 表示 RGB 图片,为 4 表示 RGBA 图片。
  • bits:每个通道的比特数。
  • mime:图像的 MIME 类型。

如果函数执行失败,将返回 false

使用方法

下面是一个使用 getimagesize() 函数读取本地图片信息的示例:

<?php
// 图片文件路径
$filename = 'example.jpg';

// 读取图片信息
$imageinfo = getimagesize($filename);

// 输出图片信息
echo "图片宽度:{$imageinfo[0]} 像素 <br/>";
echo "图片高度:{$imageinfo[1]} 像素 <br/>";
echo "图片类型:{$imageinfo[2]} <br/>";
echo "图片 MIME 类型:{$imageinfo['mime']} <br/>";
?>

上述示例中,我们传入了本地图片的文件路径到 getimagesize() 函数中,函数返回一个包含图片信息的数组 $imageinfo,我们可以通过数组索引获取图片的宽、高、类型等信息。

如果想要读取远程图片或者数据流中的图片信息,可以直接将 URL 或者数据流路径作为 $filename 参数传给函数即可。

注意事项
  • 如果读取的文件不是图片文件,则会返回 false
  • 在使用 URL 作为 $filename 参数时,需要检查 allow_url_fopen 选项是否开启,否则将无法读取远程图片信息。
  • 在读取本地图片时,需要注意读写权限的问题。