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的FTP学习(二)[转自奥索]
Oct 09 PHP
IIS环境下快速安装、配置和调试PHP5.2.0
Dec 17 PHP
浅析PHP水印技术
Feb 14 PHP
删除无限分类并同时删除它下面的所有子分类的方法
Aug 08 PHP
linux中cd命令使用详解
Jan 08 PHP
PHP接收json 并将接收数据插入数据库的实现代码
Dec 01 PHP
简介WordPress中用于获取首页和站点链接的PHP函数
Dec 17 PHP
Laravel使用Caching缓存数据减轻数据库查询压力的方法
Mar 15 PHP
WordPress分页伪静态加html后缀
Jun 08 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
Jan 12 PHP
Laravel中日期时间处理包Carbon的简单使用
Sep 21 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 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
全国FM电台频率大全 - 14 江西省
2020/03/11 无线电
一个取得文件扩展名的函数
2006/10/09 PHP
php session应用实例 登录验证
2009/03/16 PHP
PHP中file_exists()判断中文文件名无效的解决方法
2014/11/12 PHP
轻松掌握php设计模式之访问者模式
2016/09/23 PHP
如何简单地用YUI做JavaScript动画
2007/03/10 Javascript
jquery animate 动画效果使用说明
2009/11/04 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
jQuery Ajax方法调用 Asp.Net WebService 的详细实例代码
2011/04/27 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
JavaScript统计字符串中每个字符出现次数完整实例
2016/01/28 Javascript
Highcharts学习之坐标轴
2016/08/02 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
帝国cms首页列表页实现点赞功能
2017/10/30 Javascript
微信小程序简单实现form表单获取输入数据功能示例
2017/11/30 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
[41:17]VG vs Optic 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
玩转python爬虫之cookie使用方法
2016/02/17 Python
对python生成业务报表的实例详解
2019/02/03 Python
OpenCV 边缘检测
2019/07/10 Python
python3.7环境下安装Anaconda的教程图解
2019/09/10 Python
在pycharm中为项目导入anacodna环境的操作方法
2020/02/12 Python
Django models文件模型变更错误解决
2020/05/11 Python
Expected conditions模块使用方法汇总代码解析
2020/08/13 Python
python代数式括号有效性检验示例代码
2020/10/04 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
幼儿园教师岗位职责
2014/03/17 职场文书
学校端午节活动方案
2014/08/23 职场文书
中学生综合素质自我评价
2015/03/06 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
Python机器学习之逻辑回归
2021/05/11 Python
Java tomcat手动配置servlet详解
2021/11/27 Java/Android
「Manga Time Kirara MAX」2022年5月号封面公开
2022/03/21 日漫
使用Ajax实现进度条的绘制
2022/04/07 Javascript