PHP获取远程图片并保存到本地

function getImage($url,$save_dir='',$filename=''){
		if(trim($url)==''){
			return array('file_name'=>'','save_path'=>'','error'=>1);
		}
		if(trim($save_dir)==''){
			$save_dir='media/img/film';
		}
		if(trim($filename)==''){//保存文件
			$filename=$this->uuid().".jpg"; //默认文件名,大家可以根据自己的需求修改
		}
		if(0!==strrpos($save_dir,'/')){
			$save_dir.='/';
		}
		//创建保存目录
		if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
			return array('file_name'=>$filename,'save_path'=>'','error'=>5);
		}
		//获取远程文件所采用的方法
	
		$ch=curl_init();
		$timeout=5;
		curl_setopt($ch,CURLOPT_URL,$url);
		curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
		curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
		$img=curl_exec($ch);
		curl_close($ch);
	
// 		$size=strlen($img);
		//文件大小
		$fp2=@fopen($save_dir.$filename,'a');
		$r= fwrite($fp2,$img);
		if (!$r) return false;
		fclose($fp2);
		unset($img,$url);
		return $save_dir.$filename;
	}
	这里获取图片的时候除了用curl外,还可以用file_get_contents();
比如:<span style="font-family: Arial, Helvetica, sans-serif;">这里只简写了获取和保存,并未做其他的验证操作,请自行补充。</span><pre name="code" class="php">		$url = "http://tp3.sinaimg.cn/3173430994/180/5723887556/1";
		$r = file_get_contents($url);
		$fopen  = fopen("E:\\icon.jpg", "a");
		$ret = fwrite($fopen, $r);
		fclose($fopen);


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值