如何使用PHP从URL保存图像?

时间:2012-06-05 01:13:37

标签: php image

图片网址为:http://phim.xixam.com/thumb/giotdang.jpeg

我的代码是:

$img = 'http://phim.xixam.com/thumb/giotdang.jpeg';
file_puts_content('abc.jpg', file_get_contents($img));

但我收到警告:

  

file_get_contents(http://phim.xixam.com/thumb/giotdang.jpeg)[function.file-get-contents]:   无法打开流:HTTP请求失败! HTTP / 1.0 403禁止进入   ...

我尝试通过 cURL 保存此图片,但也无法正常工作。

1 个答案:

答案 0 :(得分:0)

php代码似乎在技术上是正确的,但似乎由于某种原因你被阻止了。假设您是在同一台机器上的浏览器中尝试它并且它可以正常工作,我会猜测UserAgent字符串过滤。尝试使用带有cURL的有效用户代理字符串。

来自http://curl.haxx.se/docs/manpage.html

  

-A, - user-agent

     

(HTTP)指定要发送到HTTP服务器的User-Agent字符串。如果此字段未设置为“Mozilla / 4.0”,则一些执行不良的CGI会失败。至   编码字符串中的空格,用单引号括起字符串   分数。当然也可以使用-H, - header选项进行设置。

     

如果此选项设置了多次,则最后一个选项将是使用的选项。