2014-03-27 41 views
1

我试图从网址保存一些图片到我的服务器,但我无法做到这一点。无法将图片从网址保存到我的服务器

这是我的代码(它的标准,我已经互联网上找到):

$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字节的图像(这是而不是原始图像)。 有什么问题?

+0

该文件是什么? – Peter

+0

我下载的文件是一张图片,$ img是一个字符串,如“myFolder/temp.jpg – giozh

+0

什么是26字节图片?你也可以使用'file_put_contents($ img,file_get_contents($ url));'' – Peter

回答

0

我很确定你需要在网址中包含http://。我相当肯定它认为它是没有它的本地文件(即,隐含的file://)。

+0

http://是包含的,我不知道为什么不会出现在我粘贴的代码中! – giozh

1

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

这是一个下载图像的卷曲等效代码。我相信你的服务器,你不能使用此代码下载图像。

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

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

curl_setopt($ch, CURLOPT_VERBOSE, 1); 
+0

令人惊叹的答案!第二个参数中的file_get_contents也解决了我的问题!不知道! –

相关问题