zoukankan      html  css  js  c++  java
  • 读取远程图片的二进制流

    获取图片的二进制流方法很多,file_get_contents,fread,readfile,curl等

    1、curl

    function httpDownload($url){    
        if(empty($url)){    
            return false;    
        }    
        $ch = curl_init();  
        curl_setopt($ch, CURLOPT_URL, $url);  
        curl_setopt($ch, CURLOPT_TIMEOUT, 2);  
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);  
        $r = curl_exec($ch);  
        curl_close($ch);  
        return $r;  
    }  

    $url为图片地址,返回值$r就是所读取的图片的二进制流

    2、readfile:函数读取文件,并把它写入输出缓冲(此方法本人亲测,可以读取阿里云远程Oss图片文件)

    function httpDownload($url){    
        if(empty($url)){    
            return false;    
        }    
        ob_start();  
        $contents = @readfile($url);  
        $img = ob_get_contents();   
        ob_end_clean();  
        return $img;  
    }  

    3、file_get_contents

    function httpDownload($url){    
        if(empty($url)){    
            return false;    
        }    
        $img = file_get_contents($url);   
        return $img;  
    } 

    4、fread(filesize无法获取远程文件的大小)

    function httpDownload($url){    
        if(empty($url)){    
            return false;    
        }    
        $file = fopen($url,"rb");  //rb是以二进制流的模式打开  
        fread($file,filesize($url));  
        fclose($file);  
    }

    本帖转载自:https://blog.csdn.net/muzi187/article/details/56486178

  • 相关阅读:
    meta标签
    html5新增标签
    jQuery鼠标事件
    Jenkins在Linux环境安装
    3、jQuery的DOM基础
    2、jQuery选择器
    1、jQuery概述
    伪分布模式安装hadoop
    poj 2773欧几里德
    poj 1298(水题)
  • 原文地址:https://www.cnblogs.com/clubs/p/9149148.html
Copyright © 2011-2022 走看看