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

  • 相关阅读:
    SQL Server调优系列基础篇
    SQL分组查询及聚集函数的使用
    数据库索引
    ASP.NET MVC5入门指南
    AOP 动态织入的.NET实现
    mmap学习
    Mysql的优化一则
    PHP 5.5 新特性
    19个三维GIS软件对比
    周鸿祎区块链五大缺点, 区块链的100个问题
  • 原文地址:https://www.cnblogs.com/clubs/p/9149148.html
Copyright © 2011-2022 走看看