PHP简单实现断点续传下载的方法


Posted in PHP onSeptember 25, 2015

本文实例讲述了PHP实现断点续传下载的方法。分享给大家供大家参考。具体如下:

$fname = 'http://XXXX/MMLDZG.mp3';
$fp = fopen($fname,'rb');
$fsize = filesize($fname);
if (isset($_SERVER['HTTP_RANGE']) && ($_SERVER['HTTP_RANGE'] != "") && preg_match("/^bytes=([0-9]+)-$/i", $_SERVER['HTTP_RANGE'], $match) && ($match[1] < $fsize)) {   $start = $match[1]; } else {   $start = 0; } @header("Cache-control: public"); @header("Pragma: public"); if ($star--> 0) {
  fseek($fp, $start);
  Header("HTTP/1.1 206 Partial Content");
  Header("Content-Length: " . ($fsize - $start));
  Header("Content-Ranges: bytes" . $start . "-" . ($fsize - 1) . "/" . $fsize);
} else {
  header("Content-Length: $fsize");
  Header("Accept-Ranges: bytes");
}
@header("Content-Type: application/octet-stream");
@header("Content-Disposition: attachment;filename=mmdld.mp3");
fpassthru($fp);
fpassthru();//函数输出文件指针处的所有剩余数据。

该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区。

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
十天学会php之第一天
Oct 09 PHP
Uncaught exception com_exception with message Failed to create COM object
Jan 11 PHP
PHP实现的博客欢迎提示功能(很特别哦)
Jun 05 PHP
phpmailer在服务器上不能正常发送邮件的解决办法
Jul 08 PHP
2个Codeigniter文件批量上传控制器写法例子
Jul 25 PHP
php中explode的负数limit用法分析
Feb 27 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
php版微信自动获取收货地址api用法示例
Sep 22 PHP
php版交通银行网银支付接口开发入门教程
Sep 26 PHP
PHP实现动态压缩js与css文件的方法
May 02 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
PHP常见的序列化与反序列化操作实例分析
Oct 28 PHP
分享3个php获取日历的函数
Sep 25 #PHP
PHP中配置IIS7实现基本身份验证的方法
Sep 24 #PHP
常见PHP数据库解决方案分析介绍
Sep 24 #PHP
又十个超级有用的PHP代码片段
Sep 24 #PHP
PHP易混淆知识整理笔记
Sep 24 #PHP
PHP直接修改表内容DataGrid功能实现代码
Sep 24 #PHP
PHP生成条形码大揭秘
Sep 24 #PHP
You might like
评分9.0以上的动画电影,剧情除了经典还很燃
2020/03/04 日漫
PHP中文分词 自动获取关键词介绍
2012/11/13 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
CodeIgniter记录错误日志的方法全面总结
2016/05/17 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
2018/03/31 PHP
JavaScript触发器详解
2007/03/10 Javascript
javascript实现的动态添加表单元素input,button等(appendChild)
2007/11/24 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
让IE8浏览器支持function.bind()方法
2014/10/16 Javascript
web前端设计师们常用的jQuery特效插件汇总
2014/12/07 Javascript
js日期插件dateHelp获取本月、三个月、今年的日期
2016/03/07 Javascript
微信JSAPI支付操作需要注意的细节
2017/01/10 Javascript
JavaScript之Date_动力节点Java学院整理
2017/06/28 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
详解js跨域请求的两种方式,支持post请求
2018/05/05 Javascript
微信小程序收藏功能的实现代码
2018/06/12 Javascript
在vue2.0中引用element-ui组件库的方法
2018/06/21 Javascript
浅谈Vue CLI 3结合Lerna进行UI框架设计
2019/04/14 Javascript
JS数组属性去重并校验重复数据
2020/01/10 Javascript
vue移动端下拉刷新和上滑加载
2020/10/27 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
python实现爬取千万淘宝商品的方法
2015/06/30 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
nginx搭建基于python的web环境的实现步骤
2020/01/03 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
2020/12/08 Python
国际知名军事风格休闲装品牌:Alpha Industries(阿尔法工业)
2017/05/24 全球购物
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
新西兰Bookabach:查找全球度假屋
2020/12/03 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
测绘工程专业个人自我评价
2013/12/01 职场文书
酒店经理职责
2014/01/30 职场文书
小学生操行评语大全
2014/04/22 职场文书
大班亲子运动会方案
2014/06/10 职场文书
如何做好工作总结!
2019/04/10 职场文书