• php下载远程文件方法~


    直接上代码:

    getFile("http://easyread.ph.126.net/N8gDl6ayo5wLgKbgT21NZQ==/7917056565549478184.jpg");
    /**
    * php实现下载远程图片保存到本地
    **
    * $url 图片所在地址
    * $path 保存图片的路径
    * $filename 图片自定义命名
    * $type 使用什么方式下载 
    * 0:curl方式,1:readfile方式,2file_get_contents方式
    *
    * return 文件名
    */
    function getFile($url,$path='',$filename='',$type=0){
        if($url==''){return false;}
        //获取远程文件数据
        if($type===0){
            $ch=curl_init();
            $timeout=5;
            curl_setopt($ch,CURLOPT_URL,$url);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
            curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);//最长执行时间
            curl_setopt($ch,CURLOPT_TIMEOUT,$timeout);//最长等待时间
            
            $img=curl_exec($ch);
            curl_close($ch);
        }
        if($type===1){
            ob_start(); 
            readfile($url);
            $img=ob_get_contents(); 
            ob_end_clean(); 
        }
        if($type===2){
            $img=file_get_contents($url);
        }
        //判断下载的数据 是否为空 下载超时问题
        if(empty($img)){
            throw new Exception("下载错误,无法获取下载文件!");
        }
        
        //没有指定路径则默认当前路径
        if($path===''){
            $path="./";
        }
        //如果命名为空
        if($filename===""){
            $filename=md5($img);
        }
        //获取后缀名
        $ext=substr($url, strrpos($url, '.'));
        if($ext && strlen($ext)<5){
            $filename.=$ext;
        }
        
        //防止"/"没有添加
        $path=rtrim($path,"/")."/";
        //var_dump($path.$filename);die();
        $fp2=@fopen($path.$filename,'a');
    
        fwrite($fp2,$img);
        fclose($fp2);
        //echo "finish";
        return $filename;
    }
  • 相关阅读:
    手把手教你整Win10的Linux子系统(Ubuntu)
    Golang从入门到微服务
    GitHub总是打不开
    github无法push?看这篇文章就够了
    shell 操作mysql
    04 elasticsearch学习笔记-基本CRUD
    kibana-6.2.4-amd64的安装
    es 的reindex详解
    ruby 操作csv
    shell 去掉逗号_shell替换和去掉换行符
  • 原文地址:https://www.cnblogs.com/zjhblogs/p/6256944.html
Copyright © 2020-2023  润新知