尽管allow_url_fopen=1,getimagesize仍为PNG图像返回空值

发布于 2025-01-02 16:01:19 字数 576 浏览 0 评论 0原文

我在正确链接的图片上使用 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 的宽度与表格列宽度进行比较,以仅缩放错误上传的巨大图片,并保持其他正确的图片不缩放,即。要么为 img 标签设置 width="384",要么不设置。

大多数 PNG 都是通过“另存为 Web”选项从 Photoshop 导出的,RGB 24 位,无 Alpha 或遮罩,因此它们应该尽可能好,但即使是那些也会返回空值。

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

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

I use list($pws,$phs,$pfts,$pfas)=getimagesize($row->picurl); on correctly linked pictures which display fine, but some are too wide to fit in the table column.

ini_get('allow_url_fopen') returns 1.

According to the manual, getimagesize() doesn't require the GD Image Library.

phpversion() returns "5.3.9-1~dotdeb.3".

What I want to do is compare the width of external PNG image urls to a table column width while filling the table, to scale only incorrectly uploaded huge ones and keep the other correct ones unscaled, ie. either set width="384" for the img tag, or not.

Most PNGs are exported from Photoshop with the Save For Web option, rgb 24-bits, no alpha or matte, so they should be as good as they get, yet even those return nulls.

Do I need to enable something else on the server or can I check the width with some other function?

I will also accept any comparable solutions to achieve this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

满意归宿 2025-01-09 16:01:19

如果您知道列的宽度,则可以在图像上设置 CSS max-width:

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

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

If you know the width of the column, you can set CSS max-width on the image:

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

This will reduce large images but not enlarge smaller images.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文