zoukankan      html  css  js  c++  java
  • PHP 下载远程图片

    方法一:file_get_contents

    /**-- 下载远程文件 --**/
        function down_img($url){
            set_time_limit(60);
    	if($url==""){
                return false;
    	}
    	$ext=strrchr($url,".");
    	if($ext!=".gif" && $ext!=".jpg" && $ext!=".png" && $ext!=".jpeg"){
                return false;
    	}
    	if(!file_exists($this->uploadpath)){
                dir_create($this->uploadpath);
    	}	
    	$filename=$this->getname($ext);
    	$img = file_get_contents($url);
    	$fp2=@fopen($this->uploadpath.$filename, "a");   //此处可加上图片存放路径
    	fwrite($fp2,$img);
    	fclose($fp2);
            /*
    	$imgwh=getimagesize($this->uploadpath.$filename);
    	if($imgwh[0]>480 || $imgwh[1]>480){		
    		$this->image->thumb($filename, 480, 480);
    	}*/	
    	return $this->urlpic.$filename;   //返回新的图片名称
        }
        /**-- 下载远程ICON .175x175-75.jpg  .100x100-75.jpg 350x350-75.jpg 512x512-75.jpg --**/
        function down_icon($url,$size){
    	if($url==""):return false;endif;
    	$ext='.jpg';
    	$num=strrpos($url,'.');
    	$data = substr($url, 0,$num); 
    	$data=$data.$size;
    	
    	if(!file_exists($this->uploadpath)){
                dir_create($this->uploadpath);
    	}	
    	$filename=$this->getname($ext);
    	$img = file_get_contents($data);
    	$fp2=@fopen($this->uploadpath.$filename, "a");   //此处可加上图片存放路径
    	fwrite($fp2,$img);
    	fclose($fp2);
    	return $this->urlpic.$filename;   //返回新的图片名称
        }
        /**-- 获取附件名称 @param $fileext 附件扩展名 --**/
        function getname($fileext){
            return date('Ymdhis').rand(100, 999).$fileext;
        }
    

    方法二:redefile

    /**-- 下载远程文件 --**/
        function down_img($url){
            set_time_limit(60);
    		if($url==""){
    				return false;
    		}
    		$ext=strrchr($url,".");
    		if($ext!=".gif" && $ext!=".jpg" && $ext!=".png" && $ext!=".jpeg"){
    				return false;
    		}
    		if(!file_exists($this->uploadpath)){
    				dir_create($this->uploadpath);
    		}	
    		$filename=$this->getname($ext);
    		ob_start();    //开启缓冲区
    			
    			$opts = array(  
    				'http'=>array(  
    					'method'=>"GET",  
    					'timeout'=>25,   
    				)  
    			);  
    			$context = stream_context_create($opts);  
    			
    			readfile($url, false, $context);  
    		$img = ob_get_contents();
    		ob_end_clean();
    		$fp2=@fopen($this->uploadpath.$filename, "a");   //此处可加上图片存放路径
    		fwrite($fp2,$img);
    		fclose($fp2);
    			/*
    		$imgwh=getimagesize($this->uploadpath.$filename);
    		if($imgwh[0]>480 || $imgwh[1]>480){		
    			$this->image->thumb($filename, 480, 480);
    		}*/	
    		return $this->urlpic.$filename;   //返回新的图片名称
        }
        /**-- 下载远程ICON .175x175-75.jpg  .100x100-75.jpg 350x350-75.jpg 512x512-75.jpg --**/
        function down_icon($url,$size){
    		if($url==""):return false;endif;
    		$ext='.jpg';
    		$num=strrpos($url,'.');
    		$data = substr($url, 0,$num); 
    		$data=$data.$size;
    		
    		if(!file_exists($this->uploadpath)){
    			dir_create($this->uploadpath);
    		}	
    		$filename=$this->getname($ext);
    		ob_start();
    		readfile($data);
    		$img = ob_get_contents();
    		ob_end_clean();
    
    		$fp2=@fopen($this->uploadpath.$filename, "a");   //此处可加上图片存放路径
    		fwrite($fp2,$img);
    		fclose($fp2);
    		
    		return $this->urlpic.$filename;   //返回新的图片名称
        }
        /**-- 获取附件名称 @param $fileext 附件扩展名 --**/
        function getname($fileext){
            return date('Ymdhis').rand(100, 999).$fileext;
        }
    
  • 相关阅读:
    PAT-乙级-1034. 有理数四则运算(20)
    PAT-乙级-1033. 旧键盘打字(20)
    PAT-乙级-1032. 挖掘机技术哪家强(20)
    PAT-乙级-1031. 查验身份证(15)
    PAT-乙级-1030. *完美数列(25)
    PAT-乙级-1029. 旧键盘(20)
    PAT-乙级-1028. 人口普查(20)
    PAT-乙级-1027. 打印沙漏(20)
    PAT-乙级-1026. 程序运行时间(15)
    PAT-乙级-1025. 反转链表 (25)
  • 原文地址:https://www.cnblogs.com/mr-amazing/p/4157746.html
Copyright © 2011-2022 走看看