我一直在使用以下功能从经销商处下载图片,以便在我们的网站上使用,如下所述:
$url = "http://covers.stl-distribution.com/7819/lg-9781936417445.jpg";
$itemnum = 80848;
$path = "www.gullions.com/localstore/test/test.jpg";
header('Content-type: image/jpeg');
$ch = curl_init($url);
$fp = fopen("http://www.gullions.com/localstore/test/test.jpg", 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_exec($ch);
curl_close($ch);
fclose($fp);
它不会下载并保存图片,只会将疯狂的字符打印到屏幕上。我知道这意味着由于某种原因浏览器正在尝试渲染图片,但很可能无法识别文件类型。但我似乎找不到问题所在。您可以通过在此处导航来查看疯狂的输出。要验证图像是否未下载和保存,您可以在此处导航。此外,FTP 还显示没有下载文件。如果您导航到原始图片的下载 url,您会看到我们尝试下载的文件确实存在。
我已经联系了我的主机并验证了服务器没有更改任何设置,cURL 运行正常,甚至回滚了我的浏览器以验证最近的更新没有导致问题。我通过从应用程序中删除该函数创建了一个测试文件,并尝试单独运行它,但结果相同。