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
请离开include_once和require_once
Jul 18 PHP
在win7中搭建Linux+PHP 开发环境
Oct 08 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
Oct 30 PHP
ThinkPHP有变量的where条件分页实例
Nov 03 PHP
ci检测是ajax还是页面post提交数据的方法
Nov 10 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
Feb 16 PHP
PHP简单实现合并2个数字键数组值的方法
May 30 PHP
php装饰者模式简单应用案例分析
Oct 23 PHP
php传值和传引用的区别点总结
Nov 19 PHP
Mac M1安装mnmp (Mac+Nginx+MySQL+PHP) 开发环境
Mar 29 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
解决163/sohu/sina不能够收到PHP MAIL函数发出邮件的问题
2009/03/13 PHP
PHP实现根据银行卡号判断银行
2015/04/29 PHP
thinkphp的dump函数无输出实例代码
2016/11/15 PHP
PHP以json或xml格式返回请求数据的方法
2018/05/31 PHP
php中访问修饰符的知识点总结
2019/01/27 PHP
User Scripts: Video Download by User Scripts
2007/05/14 Javascript
js文件缓存之版本管理详解
2013/07/05 Javascript
jQuery+html5+css3实现圆角无刷新表单带输入验证功能代码
2015/08/21 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
JavaScript基础教程——入门必看篇
2016/05/20 Javascript
关于JavaScript 原型链的一点个人理解
2016/07/31 Javascript
JavaScript实现鼠标点击导航栏变色特效
2017/02/08 Javascript
react开发教程之React 组件之间的通信方式
2017/08/12 Javascript
BootStrap模态框不垂直居中的解决方法
2017/10/19 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
2017/10/31 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
详解使用mpvue开发github小程序总结
2018/07/25 Javascript
Vue.Draggable拖拽功能的配置使用方法
2020/07/29 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
跟老齐学Python之网站的结构
2014/10/24 Python
举例讲解Python设计模式编程的代理模式与抽象工厂模式
2016/01/16 Python
python 默认参数问题的陷阱
2016/02/29 Python
flask框架实现连接sqlite3数据库的方法分析
2018/07/16 Python
Pytorch高阶OP操作where,gather原理
2020/04/30 Python
HTML5 解决苹果手机不能自动播放音乐问题
2017/12/27 HTML / CSS
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
生物专业个人自荐信范文
2013/11/29 职场文书
医学类个人求职信范文
2014/02/05 职场文书
数控技校生自我鉴定
2014/03/02 职场文书
纠风工作实施方案
2014/03/15 职场文书
导游个人求职信范文
2014/03/23 职场文书
我的大学四年规划书范文2014
2014/09/26 职场文书
批评与自我批评发言稿
2014/10/15 职场文书
毕业生就业推荐表自我评价
2015/03/02 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android
MySQL池化框架学习接池自定义
2022/07/23 MySQL