美文网首页
分段下载

分段下载

作者: 姬汉斯 | 来源:发表于2018-08-30 23:58 被阅读0次

php实现分段下载文件,有时文件比较大,或者难以迅速传输,而利用分段传输,可以实现稳定、高效并且有保障的传输,更具有实用性,同时容易对差错文件进行更正。function download($file_dir,$file_name)    //参数说明:    //file_dir:文件所在目录    //file_name:文件名{    $file_dir = chop($file_dir);//去掉路径中多余的空格    //得出要下载的文件的路径if($file_dir != ''){    $file_path = $file_dir;    if(substr($file_dir,strlen($file_dir)-1,strlen($file_dir)) != '/')          $file_path .= '/';          $file_path .= $file_name;}else    $file_path = $file_name;      //判断要下载的文件是否存在if(!file_exists($file_path)){      echo '对不起,你要下载的文件不存在。';      return false;}$file_size = filesize($file_path);header("Content-type: application/octet-stream");header("Accept-Ranges: bytes");header("Accept-Length: $file_size");header("Content-Disposition: attachment; filename=".$file_name);$fp = fopen($file_path,"r");$buffer_size = 1024;$cur_pos = 0;while(!feof($fp)&&$file_size-$cur_pos>$buffer_size){    $buffer = fread($fp,$buffer_size);    echo $buffer;    $cur_pos += $buffer_size;}$buffer = fread($fp,$file_size-$cur_pos);echo $buffer;fclose($fp);return true;}

相关文章

  • 分段下载

    php实现分段下载文件,有时文件比较大,或者难以迅速传输,而利用分段传输,可以实现稳定、高效并且有保障的传输,更具...

  • flutter分段下载Dio

    分块下载的最终速度受设备所在网络带宽、源出口速度、每个块大小、以及分块的数量等诸多因素影响,实际过程中很难保证速度...

  • 分段下载实现总结

    开篇 首先应该知道的是在正常情况下使用单线程下载和多线程下载结果是差不多的。所以通常情况下不一定要追求多线程下载使...

  • Http大文件分段下载

    http不可能直接读取很大的文件一定会导致oom,而且传送很容易失败,一旦失败又要重新开始传输,这样体验可想而知,...

  • netty文件分段下载实战

    背景 最近有接触到netty,netty是一个比较流行的网络框架,提供和封装了比较丰富的网络处理API,可以比较容...

  • haproxy源码编译安装

    haproxy源码安装: 下载地址:http://www.haproxy.org/ 配置分段: balance调度...

  • Android 多线程断点下载

    Android 多线程断点下载 概念 多线程断点下载:意思是把一个下载文件分成多个,然后分配每个线程去下载分段,当...

  • OkHttp实现断点续传

    分段下载 Range 请求头格式:Range: bytes=start-end 注:这个表示[start,end]...

  • Linux Mint 18.2 下载工具Axel&uGe

    一.Axel 简介 Axel 通过打开多个 HTTP/FTP 连接来将一个文件进行分段下载,从而达到加速下载的目的...

  • android断点下载之多线程分段下载进阶

    之前给大家分享了一下关于断点下载的基本套路和逻辑下面引入线程池来完成断点下载!主要就是让大家更深入的了解一下断点下...

网友评论

      本文标题:分段下载

      本文链接:https://www.haomeiwen.com/subject/clyjwftx.html