📅  最后修改于: 2023-12-03 15:18:26.764000             🧑  作者: Mango
在 PHP 中,getImageSize() 函数是用于获取给定图像文件的尺寸和类型信息,并以数组形式返回这些信息。该函数可用于读取 JPEG、PNG、GIF、BMP 以及 WEBP 等多种图像格式的信息。
array getImageSize(string $filename [, array &$imageinfo])
参数:
$filename
:要获取信息的图像文件的文件名或 URL。$imageinfo
(可选):如果该参数指定了一个变量,则函数将向该变量中添加额外的信息,包括文件格式、文件大小和 IPTC 信息(如果存在)。返回值:
如果成功获取了图像文件的信息,则以数组形式返回尺寸和类型信息。如果失败,则返回 FALSE。
下面是一个使用该函数获取图像信息的示例代码:
<?php
$filename = 'example.jpg';
$info = getImageSize($filename);
if ($info !== false) {
list($width, $height, $type) = $info;
switch ($type) {
case IMAGETYPE_JPEG:
echo 'JPEG 图像,宽度:' . $width . ',高度:' . $height . '。';
break;
case IMAGETYPE_GIF:
echo 'GIF 图像,宽度:' . $width . ',高度:' . $height . '。';
break;
case IMAGETYPE_PNG:
echo 'PNG 图像,宽度:' . $width . ',高度:' . $height . '。';
break;
default:
echo '未知图像类型。';
break;
}
} else {
echo '读取图像信息失败。';
}
?>
除了尺寸和类型信息外,getImageSize() 函数还可以返回一些额外的信息,包括文件格式、文件大小和 IPTC 信息。如果需要获取这些信息,则需要在调用该函数时传入一个用于存储这些信息的数组变量。
下面是一个获取额外信息的示例代码:
<?php
$filename = 'example.jpg';
$info = array();
$result = getImageSize($filename, $info);
if ($result !== false) {
$width = $info[0];
$height = $info[1];
$type = $info[2];
$bits = $info['bits'];
$channels = $info['channels'];
$mime = $info['mime'];
$size = $info['filesize'];
$iptc = $info['APP13'];
echo '图像类型:' . $type . ',宽度:' . $width . ',高度:' . $height;
echo ',位深度:' . $bits . ',通道数:' . $channels;
echo ',文件格式:' . $mime . ',文件大小:' . $size;
if ($iptc !== false) {
echo ',IPTC 信息:' . print_r($iptc, true);
}
} else {
echo '读取图像信息失败。';
}
?>
总之,getImageSize() 函数是一个非常实用的函数,可用于获取多种图像文件的尺寸和类型信息。但请注意,该函数只能获取静态图像文件的信息,无法获取动画 GIF 或动态 WebP 文件的信息。如果需要处理动态图像,请使用其他方式。