获取文件时getimagesize失败
Posted
技术标签:
【中文标题】获取文件时getimagesize失败【英文标题】:getimagesize fails when fetching a file 【发布时间】:2012-12-23 23:15:19 【问题描述】:我在使用getimagesize()
时遇到了一些问题。上传文件后,将后者放入 .但是当我打电话给getimagesize()
(或fopen
())时,我收到了这个错误信息
getimagesize(http://mysite.com/files/documents/file_upload.png) [function.getimagesize]:打开流失败:HTTP 请求失败! HTTP/1.1 404
我把这个网址放到浏览器中,图片就正常显示了。
【问题讨论】:
请记住,getimagesize
是自己的请求,如果它没有看到它识别的浏览器(客户端),服务器可能会返回不同的响应,以避免机器人等。跨度>
看起来您已经找到了解决方案,只需使用浏览器请求图像,然后将其存储在您的服务器上,然后... :) - 检查请求标头。
对不起,我不明白,因为我用过很多次,而且效果很好。那我该怎么办,因为它真的是一个正常的上传过程?我应该检查权限吗?
用您的浏览器发出请求,但看看发送了哪些请求标头。然后将相同的请求标头添加到fopen
的 HTTP 上下文选项中。然后它就可以正常工作了。
对不起,我是个新手,发现Accept:text/html,application/xhtml+xml,application/xml;q=0.9,/ i>;q=0.8 Accept-Charset:ISO-8859-1,utf-8;q=0.7,*;q=0.3 Accept-Encoding:gzip,deflate,sdch Accept-Language:en,fr-FR;q= 0.8,fr;q=0.6,en-US;q=0.4 Connection:keep-alive
【参考方案1】:
联系您要请求图像的服务器所有者,并询问获取图像的技术要求。店主会告诉你必须做什么,或者一般不支持像你这样用 php 脚本请求图片。
但是只有服务器所有者可以告诉你。 HTH。
【讨论】:
以上是关于获取文件时getimagesize失败的主要内容,如果未能解决你的问题,请参考以下文章