getimagesize为PNG图像返回null,尽管allow_url_fopen=1


getimagesize returns nulls for PNG images despite allow_url_fopen=1

我在正确链接的图片上使用list($pws,$phs,$pfts,$pfas)=getimagesize($row->picurl);,这些图片显示良好,但有些图片太宽,无法放入表格列。

ini_get('allow_url_fopen')返回1

根据手册,getimagesize()不需要GD图像库。

phpversion()返回"5.3.9-1~dotdeb.3"

我想做的是在填充表格时将外部PNG图像URL的宽度与表格列宽进行比较,只缩放错误上传的巨大URL,并保持其他正确的URL不缩放,即为img标记设置width="384",或者不设置。

大多数PNG都是从Photoshop导出的,带有Save For Web选项,rgb 24位,没有alpha或matte,所以它们应该尽可能好,但即使是那些也会返回null。

我需要在服务器上启用其他功能吗?或者我可以用其他功能检查宽度吗?

我也将接受任何类似的解决方案来实现这一目标。

如果你知道列的宽度,你可以在图像上设置CSS最大宽度:

<img src="..." style="max-width: <?= $column_width; ?>;" />

这将缩小较大的图像,但不会放大较小的图像。