PHP中的getimagesize() 函数用于获取图像大小及相关信息,成功返回一个数组,失败则返回 FALSE 并产生一条 E_WARNING 级的错误信息。
getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM 或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型及图片高度与宽度。
但是最近使用php5.6运行时,发现webp格式不被支持,会报错,其他格式没问题。
代码如下
<?php
$img_data = getimagesize("resize.webp");
if($img_data === false) {
throw new \Exception("Invalid image file: $file", self::ERR_INVALID_IMAGE);
}
print_r($img_data );
?>
经过一番查找,原来在PHP7.1.0之后getimagesize() 函数才支持webp格式。
好吧,只能升级下PHP了。升级到PHP7.4,完成后能正确拿到图片信息了。
Array ( [0] => 1365 [1] => 1024 [2] => 18 [3] => width="1365" height="1024" [bits] => 8 [mime] => image/webp )