图片存在于远程网址上,但curl给我404状态

时间:2017-04-07 13:08:53

标签: php curl url-rewriting server http-status-code-404

我有一个WordPress网站,我们在使用图片时遇到了一些问题。

图像存在于服务器上,当我们通过URL访问图像时,它可以正常工作并显示图像。

但是当我们使用curl,file_get_contents,fopen,copy etc命令来获取或访问文件时,我们会得到404错误状态代码。

任何人都可以帮助我,我不知道它是服务器问题还是WordPress问题。

以下是我的代码示例:

$url = "http://blogbucket.in/wp-content/uploads/files/0B6IGyYw9A5RYS0tNelJrdmFsMTQ/airbitz-co1.png";
$ch = @curl_init($url);
@curl_setopt($ch, CURLOPT_HEADER, true);
@curl_setopt($ch, CURLOPT_NOBODY, true);
@curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
@curl_setopt($ch, CURLOPT_FAILONERROR, true);
@curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
@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');

@curl_exec($ch);
$header = curl_getinfo($ch);
curl_close($ch);
echo "<pre>";
print_r($header);
echo "<pre>";

以下是我到目前为止所看到的链接。

您可以尝试here

1 个答案:

答案 0 :(得分:2)

  

图像存在于服务器上,当我们通过URL访问图像时,它可以工作并且图像显示。

     

但是当我们使用curl,file_get_contents,fopen,copy etc命令来获取或访问文件时,我们会得到404错误状态代码。

此网址返回404响应图像有效负载。因此,您可以忽略响应代码​​并使用响应正文中的图像数据。