分享一个利用php获取远程图片并将远程图片下载保存到本地的函数代码:
<p>/*</p><div class="aritcle_card flexRow">
<div class="artcardd flexRow">
<a class="aritcle_card_img" href="/xiazai/code/9272" title="极品模板多语言企业网站管理系统1.2.2"><img
src="https://img.php.cn/upload/webcode/000/000/002/175852080266320.jpg" alt="极品模板多语言企业网站管理系统1.2.2" onerror="this.onerror='';this.src='/static/lhimages/moren/morentu.png'" ></a>
<div class="aritcle_card_info flexColumn">
<a href="/xiazai/code/9272" title="极品模板多语言企业网站管理系统1.2.2">极品模板多语言企业网站管理系统1.2.2</a>
<p>【极品模板】出品的一款功能强大、安全性高、调用简单、扩展灵活的响应式多语言企业网站管理系统。 产品主要功能如下: 01、支持多语言扩展(独立内容表,可一键复制中文版数据) 02、支持一键修改后台路径; 03、杜绝常见弱口令,内置多种参数过滤、有效防范常见XSS; 04、支持文件分片上传功能,实现大文件轻松上传; 05、支持一键获取微信公众号文章(保存文章的图片到本地服务器); 06、支持一键</p>
</div>
<a href="/xiazai/code/9272" title="极品模板多语言企业网站管理系统1.2.2" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
</div>
</div>*功能:php完美实现下载远程图片保存到本地<br>*参数:文件url,保存文件目录,保存文件名称,使用的下载方式<br>*当保存文件名称为空时则使用远程文件原来的名称<br>*/<br>function getImage($url,$save_dir='',$filename='',$type=0){<br> if(trim($url)==''){<br> return array('file_name'=>'','save_path'=>'','error'=>1);<br> }<br> if(trim($save_dir)==''){<br> $save_dir='./';<br> }<br> if(trim($filename)==''){//保存文件名<br> $ext=strrchr($url,'.');<br> if($ext!='.gif'&&$ext!='.jpg'){<br> return array('file_name'=>'','save_path'=>'','error'=>3);<br> }<br> $filename=time().$ext;<br> }<br> if(0!==strrpos($save_dir,'/')){<br> $save_dir.='/';<br> }<br> //创建保存目录<br> if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){<br> return array('file_name'=>'','save_path'=>'','error'=>5);<br> }<br> //获取远程文件所采用的方法 <br> if($type){<br> $ch=curl_init();<br> $timeout=5;<br> curl_setopt($ch,CURLOPT_URL,$url);<br> curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);<br> curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);<br> $img=curl_exec($ch);<br> curl_close($ch);<br> }else{<br> ob_start(); <br> readfile($url);<br> $img=ob_get_contents(); <br> ob_end_clean(); <br> }<br> //$size=strlen($img);<br> //文件大小 <br> $fp2=@fopen($save_dir.$filename,'a');<br> fwrite($fp2,$img);<br> fclose($fp2);<br> unset($img,$url);<br> return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);<br>}










