php完美实现下载远程图片保存到本地

public function getFiles(){
for ($i=1;$i<=393;$i++){
$this->get( ' http://api.lvyouquan.cn/BusinessXml/26757FDC7B5B41C59E69CFFAEB62115D/Product/Detail'.$i.'.xml', 'files', 'Detail'.$i.'.xml' );
}
}
/* *功能:php完美实现下载远程图片保存到本地 *参数:文件url,保存文件目录,保存文件名称,使用的下载方式 *当保存文件名称为空时则使用远程文件原来的名称 */
public function get($url,$save_dir='',$filename='',$type=0){
if(trim($url)==''){
return array('file_name'=>'','save_path'=>'','error'=>1); }
if(trim($save_dir)==''){ $save_dir='./'; }
if(trim($filename)==''){//保存文件名 $ext=strrchr($url,'.');
if($ext!='.gif'&&$ext!='.jpg'){ return array('file_name'=>'','save_path'=>'','error'=>3); } $filename=time().$ext; }
if(0!==strrpos($save_dir,'/')){ $save_dir.='/'; } //创建保存目录
if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){
return array('file_name'=>'','save_path'=>'','error'=>5); } //获取远程文件所采用的方法
if($type){ $ch=curl_init(); $timeout=30;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$img=curl_exec($ch); //amazon https://forums.aws.amazon.com/message.jspa?messageID=196878 curl_close($ch); }else{ ob_start(); readfile($url); $img=ob_get_contents(); ob_end_clean(); } //$size=strlen($img); //文件大小 $fp2=@fopen($save_dir.$filename,'w'); fwrite($fp2,$img); fclose($fp2); unset($img,$url);
return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0); }

你可能感兴趣的:(php完美实现下载远程图片保存到本地)