我试图保存一些图片从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://
)。