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自定义函数返回多个值
Nov 26 PHP
php 批量替换html标签的实例代码
Nov 26 PHP
PHP获取当前页面URL函数实例
Oct 22 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
PHP5.4起内置web服务器使用方法
Aug 09 PHP
验证坐标在某坐标区域内php代码
Oct 08 PHP
利用PHP访问带有密码的Redis方法示例
Feb 09 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
Jul 10 PHP
PHP设计模式之原型设计模式原理与用法分析
Apr 25 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
Yii2.0框架模型添加/修改/删除数据操作示例
Jul 18 PHP
Laravel修改验证提示信息为中文的示例
Oct 23 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
基于文本的留言簿
2006/10/09 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
PHP中addcslashes与stripcslashes函数用法分析
2016/01/07 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
一个js实现的所谓的滑动门
2007/05/23 Javascript
javascript面向对象之Javascript 继承
2010/05/04 Javascript
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
浅谈JavaScript的事件
2015/02/27 Javascript
JavaScript实现Flash炫光波动特效
2015/05/14 Javascript
原生JS封装ajax 传json,str,excel文件上传提交表单(推荐)
2016/06/21 Javascript
微信小程序 LOL 英雄介绍开发实例
2016/09/30 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
2017/03/23 Javascript
微信小程序 ES6Promise.all批量上传文件实现代码
2017/04/14 Javascript
微信小程序 navbar实例详解
2017/05/11 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
微信小程序如何修改本地缓存key中单个数据的详解
2019/04/26 Javascript
bootstrap table列和表头对不齐的解决方法
2019/07/19 Javascript
Vue中的transition封装组件的实现方法
2019/08/13 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
express异步函数异常捕获示例详解
2020/11/30 Javascript
[44:33]EG vs Liquid 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
在Django的视图中使用数据库查询的方法
2015/07/16 Python
Django如何实现内容缓存示例详解
2017/09/24 Python
django反向解析和正向解析的方式
2018/06/05 Python
Windows下python3.6.4安装教程
2018/07/31 Python
解决sublime+python3无法输出中文的问题
2018/12/12 Python
django的settings中设置中文支持的实现
2019/04/28 Python
python中比较两个列表的实例方法
2019/07/04 Python
英国最大的在线时尚眼镜店:Eyewearbrands
2019/03/12 全球购物
社区活动策划方案
2014/08/21 职场文书
四风问题个人自查剖析材料思想汇报
2014/09/21 职场文书
2014年电厂工作总结
2014/12/04 职场文书
车间班组长竞聘书
2015/09/15 职场文书
游戏《铁拳》动画化!2022年年内播出
2022/03/21 日漫
Nginx开源可视化配置工具NginxConfig使用教程
2022/06/21 Servers