我有一个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>";
以下是我到目前为止所看到的链接。
cURL is returning 404 on a file that exists (remote server). Why?
How to check if an URL exists with the shell and probably curl?
PHP Detecting if source image url link leads to a "broken" image?
您可以尝试here。
答案 0 :(得分:2)
图像存在于服务器上,当我们通过URL访问图像时,它可以工作并且图像显示。
但是当我们使用curl,file_get_contents,fopen,copy etc命令来获取或访问文件时,我们会得到404错误状态代码。
此网址返回404响应图像有效负载。因此,您可以忽略响应代码并使用响应正文中的图像数据。