【发布时间】:2016-09-30 02:21:34
【问题描述】:
我正在尝试使用 Curl 下载远程图像,但它会下载一个文件,但是当我尝试在我的 Mac 上打开该图像时 - 我收到“无法打开”消息。
我可以看到文件名和扩展名是完整的,但是由于文件大小为 177 字节,它没有正确保存,但我预计文件大小约为 3kb。
谁能说明这是为什么?远程站点是否以某种方式阻止我下载文件?我已经用其他网站上的其他图片尝试了相同的代码,它工作正常??
$url = 'http://www.fifaindex.com/static/FIFA16/images/crest/256/light/21.png';
$saveto = '21.png';
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
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');
$raw = curl_exec($ch);
curl_close ($ch);
if(file_exists($saveto)){
unlink($saveto);
}
$fp = fopen($saveto,'x');
fwrite($fp, $raw);
fclose($fp);
【问题讨论】:
-
如果点击上面的 URL 似乎会为我加载一个 png?你没有得到足球/足球俱乐部的标志 png 吗?
-
不,我收到 404 Not Found 错误。请使用文本编辑器检查您下载的文件的内容,看看您得到了什么。
-
奇怪...我在文本编辑器中打开此文件,现在得到 404 Not found... 所以我认为远程站点以某种方式阻止下载文件?
404 未找到 404 未找到
nginx/1.4.6 (Ubuntu) -
嗯 .. 如果我点击图片下方的网站链接上的链接,但是当我直接访问图片网址时,它似乎没有加载 - 我要下载的图片在此页面在这里-fifaindex.com/team/21/fc-bayern这是我要远程下载的图像-有什么想法吗?
标签: php curl png fwrite fclose