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);