【问题标题】:getimagesize returns nulls for PNG images despite allow_url_fopen=1尽管 allow_url_fopen=1,getimagesize 仍为 PNG 图像返回空值
【发布时间】:2012-02-26 22:05:48
【问题描述】:

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

ini_get('allow_url_fopen') 返回 1

根据手册,getimagesize() 不需要 GD Image Library。

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

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

大多数 PNG 都是从 Photoshop 中导出的,带有 Save For Web 选项、rgb 24 位、无 alpha 或 matte,因此它们应该尽可能好,但即使是返回 null。

我需要在服务器上启用其他功能还是可以使用其他功能检查宽度?

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

【问题讨论】:

  • 我不确定我是否了解所有内容,但是.. 如果您执行 var_dump(getimagesize($row->picurl)),您会得到什么?您确定 $row->picurl 指的是实际图像吗?您是否显示警告和通知的 PHP 错误?

标签: php null getimagesize


【解决方案1】:

如果知道列宽,可以在图片上设置CSS max-width:

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

这会缩小大图,但不会放大小图。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-17
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 2016-04-06
    相关资源
    最近更新 更多