远程下载图片

浏览:1811 发布日期:2017/06/26 分类:技术分享 关键字: 远程图片下载 php
通过链接进行远程下载图片,不多描述,直接上代码

//下载远程图片

function downloadImage($url, $path='images/')
{
$ch = curl_init(); //curl_init(): 初始化一个新的会话,返回一个cURL句柄,供curl_setopt(), curl_exec()和curl_close() 函数使用。

curl_setopt($ch, CURLOPT_URL, $url);//curl_setopt(): 设置一个cURL传输选项,

//CURLOPT_URL: 需要获取的 URL 地址,也可以在curl_init() 初始化会话的时候。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //CURLOPT_RETURNTRANSFER: TRUE将curl_exec()获取的信息以字符串返回,而不是直接输出。

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);//CURLOPT_CONNECTTIMEOUT: 在尝试连接时等待的秒数。设置为0,则无限等待。

$file = curl_exec($ch);//curl_exec(): 执行一个cURL会话

curl_close($ch);//curl_close(): 关闭一个cURL会话

saveAsImage($url, $file, $path);
}

function saveAsImage($url, $file, $path)
{
$filename = pathinfo($url, PATHINFO_baseNAME);//pathinfo(): 返回文件路径的信息

$resource = fopen($path . $filename, 'a');//fopen(): 打开文件或url

fwrite($resource, $file);//fwrite(): 写入文件

fclose($resource);//fclose(): 关闭一个已经打开的文件指针
}

public function download()
{
$images = [
'http://pic3.nipic.com/20090514/2639204_233912087_2.jpg',
'http://pic1a.nipic.com/2008-10-22/20081022103550586_2.jpg'
];

foreach ( $images as $url ) {

$res = $this->downloadImage($url);

}
}
最佳答案
评论( 相关
后面还有条评论,点击查看>>