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

来源:互联网 发布:战舰世界岛风鱼雷数据 编辑:程序博客网 时间:2024/05/16 19:14
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);

                                             
0 0
原创粉丝点击