答案:PHP中获取图像尺寸主要用getimagesize()函数,返回数组包含宽、高和类型信息,适用于常见格式;若已创建图像资源,可用imagesx()和imagesy()获取尺寸,注意检查文件路径、返回值及错误处理。

在 PHP 中使用 GD 扩展获取图像尺寸,主要通过 getimagesize() 函数实现。这个函数不需要开启完整的 GD 库也能使用(只要 PHP 编译时支持图像处理),它会返回一个数组,包含图像的宽度、高度、类型等信息。
使用 getimagesize() 获取图片宽度和高度
getimagesize() 是最常用且简单的方法,适用于 JPEG、PNG、GIF、WebP 等常见格式。
- 返回值是一个数组,索引 0 是宽度,1 是高度
- 同时还能获取 MIME 类型、图像头信息等
示例代码:
$filename = 'example.jpg';list($width, $height) = getimagesize($filename);
echo "宽度: " . $width . "px
";
echo "高度: " . $height . "px";
通过 imagecreatefrom 系列函数 + imagesx / imagesy
如果你已经用 imagecreatefromjpeg()、imagecreatefrompng() 等创建了图像资源,可以用 imagesx() 和 imagesy() 来获取尺寸。
立即学习“PHP免费学习笔记(深入)”;
- imagesx($image) 返回图像资源的宽度
- imagesy($image) 返回图像资源的高度
- 适用于需要后续图像处理的场景
示例代码:
$filename = 'example.png';$image = imagecreatefrompng($filename);
if ($image !== false) {
echo "宽度: " . imagesx($image) . "px
";
echo "高度: " . imagesy($image) . "px";
imagedestroy($image); // 记得释放资源
} else {
echo "无法加载图像";
}
注意事项
使用时注意以下几点,避免出错:
- 确保文件路径正确,图像存在
- 检查函数返回值是否为 false,防止解析失败
- 某些损坏的图像文件可能导致 getimagesize() 失败
- 远程 URL 图像可能受 allow_url_fopen 限制
安全写法示例:
$filename = 'photo.jpg';$info = getimagesize($filename);
if ($info === false) {
echo "图像无效或不支持";
} else {
$width = $info[0];
$height = $info[1];
echo "尺寸: {$width} x {$height}";
} 基本上就这些。getimagesize() 最适合单纯获取尺寸,imagesx/imagesy 适合已加载图像资源后的操作。方法简单,但要注意错误处理。











