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 上传文件的方法(类)
Jul 30 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
May 18 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
细谈php中SQL注入攻击与XSS攻击
Jun 10 PHP
PHP使用SOAP调用.net的WebService数据
Nov 12 PHP
ThinkPHP中URL路径访问与模块控制器之间的关系
Aug 23 PHP
php json_encode()函数返回json数据实例代码
Oct 10 PHP
Smarty中调用FCKeditor的方法
Oct 27 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
php+websocket 实现的聊天室功能详解
May 27 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
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
SESSION存放在数据库用法实例
2015/08/08 PHP
JQuery 学习笔记 element属性控制
2009/07/23 Javascript
jquery 图片截取工具jquery.imagecropper.js
2010/04/09 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
jquery+ajax+C#实现无刷新操作数据库数据的简单实例
2014/02/08 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
JavaScript中${pageContext.request.contextPath}取值问题及解决方案
2016/12/08 Javascript
解析js如何获取css样式
2016/12/11 Javascript
使用ionic在首页新闻中应用到的跑马灯效果的实现方法
2017/02/13 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
vue data对象重新赋值无效(未更改)的解决方式
2020/07/24 Javascript
Python随手笔记之标准类型内建函数
2015/12/02 Python
Python操作Excel之xlsx文件
2017/03/24 Python
浅谈Python中的bs4基础
2018/10/21 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
python 命令行传入参数实现解析
2019/08/30 Python
Python 获取命令行参数内容及参数个数的实例
2019/12/20 Python
Python pip install如何修改默认下载路径
2020/04/29 Python
8种常用的Python工具
2020/08/05 Python
基于python实现复制文件并重命名
2020/09/16 Python
超酷炫 CSS3垂直手风琴菜单
2016/06/28 HTML / CSS
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
最新大学毕业求职简历的自我评价
2013/10/18 职场文书
物业电工岗位职责
2013/11/20 职场文书
乡镇干部个人整改措施思想汇报
2014/10/10 职场文书
2014年度个人工作总结范文
2015/03/09 职场文书
某某幼儿园的教育教学管理调研分析报告
2019/11/29 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android
MYSQL 的10大经典优化案例场景实战
2021/09/14 MySQL
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫
ipad隐藏软件app图标方法
2022/04/19 数码科技
Nginx安装配置详解
2022/06/25 Servers