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 相关文章推荐
一个用于MySQL的PHP XML类
Oct 09 PHP
第八节--访问方式
Nov 16 PHP
全世界最小的php网页木马一枚 附PHP木马的防范方法
Oct 09 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
PHP判断指定时间段的2个方法
Mar 14 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
PHP邮件群发机实现代码
Feb 16 PHP
Symfony2学习笔记之插件格式分析
Mar 17 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
php实现学生管理系统
Mar 21 PHP
总结PHP如何获取当前主机、域名、网址、路径、端口和参数等
Sep 09 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
PHP中常用数组处理方法实例分析
2008/08/30 PHP
PHP MVC模式在网站架构中的实现分析
2010/03/04 PHP
php读取富文本的时p标签会出现红线是怎么回事
2014/05/13 PHP
PHP里的单例类写法实例
2015/06/25 PHP
浅析Yii2 GridView 日期格式化并实现日期可搜索教程
2016/04/22 PHP
PHP回调函数概念与用法实例分析
2017/11/03 PHP
360搜索引擎自动收录php改写方案
2018/04/28 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
tp5修改(实现即点即改)
2019/10/18 PHP
javascript 兼容鼠标滚轮事件
2009/04/07 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
分享几个超级震憾的图片特效
2012/01/08 Javascript
js+数组实现网页上显示时间/星期几的实用方法
2013/01/18 Javascript
你必须知道的JavaScript 变量命名规则详解
2013/05/07 Javascript
jquery实现兼容浏览器的图片上传本地预览功能
2013/10/14 Javascript
在JavaScript中处理数组之reverse()方法的使用
2015/06/09 Javascript
jquery中object对象循环遍历的方法
2015/12/18 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
Actionscript与javascript交互实例程序(修改)
2016/09/22 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
jQuery zTree树插件简单使用教程
2017/01/10 Javascript
利用require.js与angular搭建spa应用的方法实例
2017/07/19 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
element ui 表格动态列显示空白bug 修复方法
2018/09/04 Javascript
JS加载解析Markdown文档过程详解
2020/05/19 Javascript
Python set常用操作函数集锦
2017/11/15 Python
python实现壁纸批量下载代码实例
2018/01/25 Python
基于Django用户认证系统详解
2018/02/21 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
CSS3用@font-face实现自定义英文字体
2013/09/23 HTML / CSS
南京迈特望C/C++面试题
2012/07/09 面试题
大学新生军训自我鉴定
2014/03/18 职场文书
检举信的格式及范文
2014/04/04 职场文书
预备党员学习十八届三中全会精神思想汇报
2014/09/13 职场文书
创先争优承诺书
2015/01/20 职场文书
详解nginx安装过程并代理下载服务器文件
2022/02/12 Servers