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 相关文章推荐
2.PHP入门
Oct 09 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
php如何调用webservice应用介绍
Nov 24 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
Sep 10 PHP
php数组转成json格式的方法
Mar 09 PHP
PHP生成器简单实例
May 13 PHP
thinkphp3.x中cookie方法的用法分析
May 19 PHP
php结合redis高并发下发帖、发微博的实现方法
Dec 15 PHP
Windows服务器中PHP如何安装redis扩展
Sep 27 PHP
Laravel 添加多语言提示信息的方法
Sep 29 PHP
php7 错误处理机制修改实例分析
May 25 PHP
php中数组最简单的使用方法
Dec 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/07/18 PHP
PHP伪静态Rewrite设置之APACHE篇
2014/07/30 PHP
php获取远程文件内容的函数
2015/11/02 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
2017/04/27 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
JavaScript null和undefined区别分析
2009/10/14 Javascript
jquery $(document).ready() 与window.onload的区别
2009/12/28 Javascript
基于Jquery的仿Windows Aero弹出窗(漂亮的关闭按钮)
2010/09/28 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
实例讲解JQuery中this和$(this)区别
2014/12/08 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
探讨AngularJs中ui.route的简单应用
2016/11/16 Javascript
微信小程序图片宽100%显示并且不变形
2017/06/21 Javascript
JavaScript变量作用域_动力节点Java学院整理
2017/06/27 Javascript
详解Angularjs 自定义指令中的数据绑定
2018/07/19 Javascript
Vue使用NProgress的操作过程解析
2019/10/10 Javascript
适合前端Vue开发童鞋的跨平台Weex的使用详解
2019/10/16 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
[47:10]完美世界DOTA2联赛PWL S3 LBZS vs Rebirth 第二场 12.16
2020/12/18 DOTA
python使用正则表达式检测密码强度源码分享
2014/06/11 Python
python对视频画框标记后保存的方法
2018/12/07 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
python中数字是否为可变类型
2020/07/08 Python
计算机专业推荐信范文
2013/11/27 职场文书
民族团结好少年事迹材料
2014/08/19 职场文书
幼儿园个人师德总结
2015/02/06 职场文书
大一学生个人总结
2015/02/15 职场文书
食堂采购员岗位职责
2015/04/03 职场文书
医院合作意向书范本
2015/05/08 职场文书
十七岁的单车观后感
2015/06/12 职场文书
2016年五四青年节校园广播稿
2015/12/17 职场文书
MongoDB使用场景总结
2022/02/24 MongoDB