首頁 > 後端開發 > php教程 > php获取远程图片并下载保存到本地

php获取远程图片并下载保存到本地

WBOY
發布: 2016-06-20 13:00:27
原創
1059 人瀏覽過

分享一个利用php获取远程图片并将远程图片下载保存到本地的函数代码:

<p>/*</p>*功能: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 />}
登入後複製


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板