首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP中的远程图像大小和尺寸获取HTTP错误

PHP中的远程图像大小和尺寸获取HTTP错误
EN

Stack Overflow用户
提问于 2013-03-01 05:48:41
回答 1查看 3.6K关注 0票数 3

我在亚马逊S3上托管了图片。我将URL static.example.com指向S3桶。当我在浏览器中直接输入URL http://static.example.com/path/mypic.png时,图像是存在的,我也可以查看和下载。但是,当我想在PHP中得到图像的大小和尺寸时,它就显示了这个错误。

代码语言:javascript
复制
`getimagesize($path)`

这就是错误。

代码语言:javascript
复制
A PHP Error was encountered

Severity: Warning

Message: getimagesize(http://static.example.com/path/mypic.png) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found

Filename: views/template.php

Line Number: 98

我可以存储在数据库中的大小,同时上传,但这不是我的解决方案,我已经有1000倍的图像在S3。当我做@ getimagesize($path)时,错误不是显示,而是没有大小,没有维度。

我还研究了PHPDocumentsgetimagesize (URL)。链接示例应该支持远程映像。

检查php.ini

代码语言:javascript
复制
Directive           Local Value     Master Value
allow_url_fopen     On              On

我哪里错了?在PHP中是否有更好的方法来获取远程图像的大小和尺寸?

注意到我100%确信远程图像路径是正确的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-01 05:55:00

检查您的php.ini文件。最可能的原因是您的服务器没有设置为enable allow_url_fopen。作为安全防范措施,有时默认情况下禁用此设置。

另外,一旦完成了这个任务,您可能需要确保缓存结果,因为getimagesize将在返回结果之前下载整个远程映像,这将给服务器带来很大的阻力。

关于最后一点,您可能需要按照FastImage的建议查看爸爸.如果这个问题不是enable allow_url_fopen,它可能会完全避免这个问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15151378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档