/**
* 下载远程图片保存到本地
* @access public
* @return array
* @params string $url 远程图片地址
* @params string $save_dir 需要保存的地址
* @params string $filename 保存文件名
*/
function downloadImage($url, $save_dir = './upload/headpic/',$filename='')
{
if(trim($save_dir)=='')
$save_dir='./';
if(trim($filename)==''){//保存文件名
$allowExt = array('.gif', '.jpg', '.jpeg', '.png', '.bmp');
$ext=strrchr($url,'.');
if(!in_array($ext,$allowExt)){
return array('file_name'=>'','save_path'=>'','error'=>3);
}
$filename=time().$ext;
}
if(0!==strrpos($save_dir,'/'))
$save_dir.='/';
//创建保存目录
if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true))
return array('file_name'=>'','save_path'=>'','error'=>5);
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 信任任何证书
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30);
$file = curl_exec($ch);
curl_close($ch);
$filename = pathinfo($url, PATHINFO_BASENAME);
$resource = fopen($save_dir . $filename, 'a');
fwrite($resource, $file);
fclose($resource);
unset($file,$url);
return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);
}