无法将图片从url保存到服务器


Unable to save picture from url to my server

我试图保存一些图片从url到我的服务器,但我不能做到这一点。

这是我的代码(这是标准的,我在网上找到的):

$ch = curl_init($url);
 $fp = fopen($img, 'wb');
 curl_setopt($ch, CURLOPT_FILE, $fp);
 curl_setopt($ch, CURLOPT_HEADER, 0);
 curl_exec($ch);
 curl_close($ch);
 fclose($fp);

但是对于我放入$url变量中的每个链接,在我的服务器上总是保存一个26字节的图像(这不是原始图像)。怎么了?

我可以使用curl代码成功下载图像。您的服务器可能不允许连接外部web链接。

这是一个等价的curl代码,也可以下载图像。我相信从您的服务器上,您无法使用此代码下载图像。

file_put_contents("img.jpg", file_get_contents("http://www.letteratu.it/wp-content/uploads/2014/03/cielo.jpg"));

以verbose模式运行curl以查看curl的调试消息,并显示给我们。

curl_setopt($ch, CURLOPT_VERBOSE, 1);

我很确定您需要在URL中包含http://。我相当确定它认为它是一个本地文件没有它(即,一个隐式的file://)。