博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
http-https php文件下载
阅读量:5216 次
发布时间:2019-06-14

本文共 3267 字,大约阅读时间需要 10 分钟。

http:

function  httpDownload($url, $path = '', $filename = '', $timeout = 60,$type = 0)    {            if ($url == '') {                return false;            }            //获取远程文件数据            if ($type === 0) {                $ch = curl_init();                curl_setopt($ch, CURLOPT_URL, $url);                curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);                curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//最长执行时间                curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);//最长等待时间                $file = curl_exec($ch);                curl_close($ch);            }            if ($type === 1) {                ob_start();                readfile($url);                $file = ob_get_contents();                ob_end_clean();            }            if ($type === 2) {                $file = file_get_contents($url);            }            //判断下载的数据 是否为空 下载超时问题            if (empty($file)) {                throw new \Exception("下载错误,无法获取下载文件!");            }            //没有指定路径则默认当前路径            if ($path === '') {                $path = "./";            }            //如果命名为空            if ($filename === "") {                $filename = md5($file);            }            //获取后缀名            $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, $file);            fclose($fp2);            //echo "finish";            return $filename;    }

  https:

function httpsDownload($url, $path = '', $filename = '', $timeout = 60, $type = 0)    {        if ($url == '') {            return false;        }        //获取远程文件数据        if ($type === 0) {            $ch = curl_init();            curl_setopt($ch, CURLOPT_URL, $url);            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);            curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);//最长执行时间            curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);//最长等待时间            curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, false);            curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, false);            $file = curl_exec($ch);            curl_close($ch);        }        if ($type === 1) {            ob_start();            readfile($url);            $file = ob_get_contents();            ob_end_clean();        }        if ($type === 2) {            $file = file_get_contents($url);        }        //判断下载的数据 是否为空 下载超时问题        if (empty($file)) {            throw new \Exception("下载错误,无法获取下载文件!");        }        //没有指定路径则默认当前路径        if ($path === '') {            $path = "./";        }        //如果命名为空        if ($filename === "") {            $filename = md5($file);        }        //获取后缀名        $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, $file);        fclose($fp2);        //echo "finish";        return $filename;    }

  

 

 

转载于:https://www.cnblogs.com/bisonkeji/p/9062857.html

你可能感兴趣的文章
js 时间对象方法
查看>>
网络请求返回HTTP状态码(404,400,500)
查看>>
Spring的JdbcTemplate、NamedParameterJdbcTemplate、SimpleJdbcTemplate
查看>>
Mac下使用crontab来实现定时任务
查看>>
303. Range Sum Query - Immutable
查看>>
图片加载失败显示默认图片占位符
查看>>
2018 ZJCPC
查看>>
【★】浅谈计算机与随机数
查看>>
[转载]宇宙文明等级的划分标准
查看>>
《代码阅读方法与实现》阅读笔记一
查看>>
解决 sublime text3 运行python文件无法input的问题
查看>>
javascript面相对象编程,封装与继承
查看>>
Atlas命名空间Sys.Data下控件介绍——DataColumn,DataRow和DataTable
查看>>
Java中正则表达式的使用
查看>>
算法之搜索篇
查看>>
新的开始
查看>>
java Facade模式
查看>>
模板的继承和导入 、自定义函数
查看>>
NYOJ 120校园网络(有向图的强连通分量)(Kosaraju算法)
查看>>
SpringAop与AspectJ
查看>>