【问题标题】:How to save an image from url using PHP?如何使用 PHP 从 url 保存图像?
【发布时间】:2012-06-05 01:13:36
【问题描述】:

图片网址为: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 保存此图像,但也不起作用。

【问题讨论】:

  • @AlienWebguy 它的获取不是问题

标签: php image


【解决方案1】:

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

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

-A, --user-agent

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

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

【讨论】:

  • 我会努力的!此图片网址可以在浏览器中显示。我使用 curl_setopt($ch, CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13');但不工作。 :(
猜你喜欢
  • 2011-09-22
  • 2010-10-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
相关资源
最近更新 更多