Mad*_*ota 3 php amazon-s3 gdlib remote-server getimagesize
我在Amazon S3中托管了图片.我将URL static.example.com指向S3 Bucket.当我直接http://static.example.com/path/mypic.png在浏览器中输入URL 时,图像就存在,我也可以查看和下载.但是,当我想在PHP中获取图像的大小和尺寸时,它会显示此错误.
`getimagesize($path)`
Run Code Online (Sandbox Code Playgroud)
这就是错误.
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
Run Code Online (Sandbox Code Playgroud)
我可以在上传时将大小存储在数据库中,但这对我来说不是解决方案,我已经在S3中拥有1000x图像.当我这样做时@ getimagesize($path),错误没有显示,但没有尺寸,没有尺寸.
我还查看了PHP文档getimagesize(URL).链接示例假设支持远程图像.
检查 php.ini
Directive Local Value Master Value
allow_url_fopen On On
Run Code Online (Sandbox Code Playgroud)
哪里错了?有没有更好的方法来获取PHP中的远程图像的图像大小和尺寸?
注意我100%确定远程图像路径是否正确.
检查你的php.ini文件.最可能的原因是您的服务器未设置为enable allow_url_fopen.默认情况下,此设置有时会被禁用作为安全预防措施.
另外,顺便说一句,一旦你开始工作,你可能想确保你正在缓存结果,因为getimagesize在返回结果之前会下载整个远程图像,这会给你的服务器带来很大的阻力.
在最后一点,您可能想要按照baba的建议检查FastImage ...如果不是这个问题,它可能完全避免这个问题.enable allow_url_fopen
| 归档时间: |
|
| 查看次数: |
3127 次 |
| 最近记录: |