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 相关文章推荐
php5 pdo新改动加载注意事项
Sep 11 PHP
PHP memcache扩展的三种安装方法
Apr 26 PHP
PHP 手机归属地查询 api
Feb 08 PHP
PHP Memcached + APC + 文件缓存封装实现代码
Mar 11 PHP
PHP生成UTF8文件的方法
May 15 PHP
PHP基础教程(php入门基础教程)一些code代码
Jan 06 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
Nov 28 PHP
PHP如何将图片文件上传到另外一台服务器上
Aug 26 PHP
laravel 实现登陆后返回登陆前的页面方法
Oct 03 PHP
PHP设计模式概论【概念、分类、原则等】
May 01 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面向对象法则
2012/02/23 PHP
PHP多文件上传类实例
2015/03/07 PHP
PHP使用SOAP扩展实现WebService的方法
2016/04/01 PHP
php连接mysql数据库
2017/03/21 PHP
redis+php实现微博(三)微博列表功能详解
2019/09/23 PHP
避免 showModalDialog 弹出新窗体的原因分析
2010/05/31 Javascript
javascript中用星号表示预录入内容的实现代码
2011/01/08 Javascript
使用Plupload实现直接上传附件至七牛云存储
2014/12/26 Javascript
jQuery实现form表单元素序列化为json对象的方法
2015/12/09 Javascript
javascript瀑布流布局实现方法详解
2016/02/17 Javascript
Bootstrap实现弹性搜索框
2016/07/11 Javascript
简单实现jQuery多选框功能
2017/01/09 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
vue router学习之动态路由和嵌套路由详解
2017/09/21 Javascript
jquery.param()实现数组或对象的序列化方法
2018/10/08 jQuery
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
JavaScript的变量声明与声明提前用法实例分析
2019/11/26 Javascript
[51:17]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第二场 10月30日
2020/10/31 DOTA
python实现类似ftp传输文件的网络程序示例
2014/04/08 Python
Python获取脚本所在目录的正确方法
2014/04/15 Python
python进阶教程之词典、字典、dict
2014/08/29 Python
Python坐标线性插值应用实现
2019/11/13 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
超30万乐谱下载:Musicnotes.com
2016/09/24 全球购物
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
社会治安综合治理责任书
2015/01/29 职场文书
社区活动总结
2015/02/04 职场文书
人事聘任通知
2015/04/21 职场文书
超强台风观后感
2015/06/09 职场文书
2016保送生自荐信范文
2016/01/29 职场文书
Python Django 后台管理之后台模型属性详解
2021/04/25 Python
react中props 的使用及进行限制的方法
2021/04/28 Javascript