获取图像尺寸

54

我有一个图片的 url,例如 $var = http://example.com/image.png

我该如何将其尺寸获取为数组例如 array([h]=> 200, [w]=>100) (高度=200,宽度=100)

3个回答

142

你可以像这样使用getimagesize函数:

list($width, $height) = getimagesize('path to image');
echo "width: " . $width . "<br />";
echo "height: " .  $height;

1
OP 问了“如何将其尺寸存入数组”,所以我不确定为什么这是完全被接受的答案... 不过还是干得好。 - Dutchie432
5
他的意思主要是如何获取图像尺寸,一旦获得了宽度和高度,创建一个数组应该很容易 :) - Sarfraz
1
我认为可以肯定地说这是你(很可能正确的)假设,而不是回答问题的具体细节。 - Dutchie432
此选项不支持 https:// 协议。有人知道任何安全的图像大小检测的好选择吗? - JustinKaz
1
@JustinKaz 它支持https,但您的服务器需要安装openSSL。例如,https对我来说运行良好。https://dev59.com/8l7Va4cB1Zd3GeqPIlLP#8518616 - Jake
@Dutchie432 getimagesize 返回一个数组... list 将数组项列出到变量中。 - Jake

45

使用getimagesize函数,我们还可以获取特定图像的这些属性-

<?php

list($width, $height, $type, $attr) = getimagesize("image_name.jpg");

echo "Width: " .$width. "<br />";
echo "Height: " .$height. "<br />";
echo "Type: " .$type. "<br />";
echo "Attribute: " .$attr. "<br />";

//Using array
$arr = array('h' => $height, 'w' => $width, 't' => $type);
?>

结果如下 -

宽度:200
高度:100
类型:2
属性:width='200' height='100'


考虑的图像类型如下 -

1 = GIF
2 = JPG
3 = PNG
4 = SWF
5 = PSD
6 = BMP
7 = TIFF(Intel字节顺序)
8 = TIFF(Motorola字节顺序)
9 = JPC
10 = JP2
11 = JPX
12 = JB2
13 = SWC
14 = IFF
15 = WBMP
16 = XBM


20
<?php 
    list($width, $height) = getimagesize("http://site.com/image.png"); 
    $arr = array('h' => $height, 'w' => $width );
?>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接