PHP.getimagesize 实际上是什么 return

what does PHP.getimagesize actually return

PHP 手册说它 return 最多 7 个元素。并表示 0、1 是宽度和高度,后跟图像类型和属性。然后继续举个例子所以

$size=getimagesize()

那么,它是什么 return ?一个包含 7 个元素的数组还是只有一个?或者它是自动魔法?其实我想要宽度,高度,类型和大小。

试试这个

$info   = getimagesize("path/to/image");
$mime   = $info['mime']; 
$width  = $info[0];
$height = $info[1];
$type   = $info[2];
$size = $info[3];

var_dump(getimagesize('path/to/some/image.ext');

这会回答您的问题并返回如下内容:

array(7) { [0]=> int(2048) 
           [1]=> int(852) 
           [2]=> int(2) 
           [3]=> string(25) "width="2048" height="852"" 
           ["bits"]=> int(8) 
           ["channels"]=> int(3) 
           ["mime"]=> string(10) "image/jpeg" }

请注意,索引 2 是 IMAGETYPE_XXX 类型的常量。此函数不返回文件大小。对于我们的案例,这将为您提供宽度和高度。您可以使用 filesize() 来获取文件的大小。

您将从 getimagesize() 获得图像 heightwidthtype,但对于大小,您可以使用 filesize() 函数。请检查以下示例 -

//Get image information
$getImageInfo = getimagesize("123.png");
print_r($getImageInfo);
//Get image size information
echo filesize("123.png");

输出

数组 ( [0] => 657 [1] => 543 [2] => 3 [3] => 宽度="657" 高度="543" [位] => 8 [mime] => image/png ) 254387

如果有用,请正确回答。