【发布时间】:2012-05-10 22:12:51
【问题描述】:
我正在尝试使用file_get_contents 从远程服务器获取图像。图像的 URL 可能包含空格和/或特殊字符,如 ý、á、í 等,当它执行时,操作会失败并显示 HTTP 代码 400 - 错误请求。如果我尝试使用 urlencode 或 rawurlencode 对 url(或该 URL 的片段)进行编码,我会得到 404。
当图像 URL 不包含空格或特殊字符时,下载不会出现问题。
我有一种预感,这与编码有关,但我就是想不通。 是否有我缺少的编码选项?是否有必须为请求设置的标头?
【问题讨论】:
-
alickus:这实际上不是重复的,您链接的问题是关于响应内容中的 UTF-8,而不是 URL。
-
在浏览器中打开该图像。了解浏览器如何编码 URL。然后查看
echo urlencode($url);的输出,发现差异 -
如何清除特殊字符的文件名,然后对用户输入执行相同操作?
标签: php