我发布了来自其他网站的图片,我宁愿让这些图片在我的服务器上,以防他们的服务器突然死亡。假设该文件位于“www.www.www/image.gif”,那么我将如何将其安全地复制到我的目录“images”中?如何将远程图像复制到我的网站目录?
我用PHP编写。
谢谢!
我发布了来自其他网站的图片,我宁愿让这些图片在我的服务器上,以防他们的服务器突然死亡。假设该文件位于“www.www.www/image.gif”,那么我将如何将其安全地复制到我的目录“images”中?如何将远程图像复制到我的网站目录?
我用PHP编写。
谢谢!
下面应该工作:
// requires allow_url_fopen
$image = file_get_contents('http://www.url.com/image.jpg');
file_put_contents('/images/image.jpg', $image);
或cURL路线:
$ch = curl_init('http://www.url.com/image.jpg');
$fp = fopen('/images/image.jpg', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp);
如果您的服务器配置为支持http://文件路径,你可以使用file_get_contents
。
如果这样做不起作用,第二种最简单的方法是使用curl
,您一定会找到完整的下载脚本。
某些服务器可能需要一个用户代理来显示您是常规浏览器。在User Contributed Notes中有一个现成的类来卷曲那个句柄,并提供一个简单的DownloadFile()函数。