PHP简单实现断点续传下载的方法

 更新时间:2015年09月25日 10:52:59   作者:deeka   我要评论
这篇文章主要介绍了PHP实现断点续传下载的方法,涉及php针对文件传输的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • Laravel中正确地返回HTTP状态码方法示例

    Laravel中正确地返回HTTP状态码方法示例

    这篇文章主要给大家介绍了如何在Laravel中正确地返回HTTP状态码的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Laravel具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • php传值赋值和传地址赋值用法实例分析

    php传值赋值和传地址赋值用法实例分析

    这篇文章主要介绍了php传值赋值和传地址赋值用法,以实例形式较为详细的分析了php的常见赋值技巧,需要的朋友可以参考下
    2015-06-06
  • PHP实现的ID混淆算法类与用法示例

    PHP实现的ID混淆算法类与用法示例

    这篇文章主要介绍了PHP实现的ID混淆算法类与用法,结合实例形式分析了php针对数字基于位运算、位移等操作的加密解密相关实现技巧,需要的朋友可以参考下
    2018-08-08
  • 利用PHP判断文件是否为图片的方法总结

    利用PHP判断文件是否为图片的方法总结

    最近在工作中遇到一个需要,要判断一个文件是否为图片的功能,通过查找相关的资料找到了几种方法,包括利用getimagesize函数获取图片信息,然后进行判断或读取图片的前2个字节等方法。下面来一起看看详细的介绍吧,需要的朋友可以参考下。
    2017-01-01
  • php实现多维数组排序的方法示例

    php实现多维数组排序的方法示例

    这篇文章主要介绍了php实现多维数组排序的方法,结合实例形式分析了php针对多维数组的排序操作相关技巧,需要的朋友可以参考下
    2017-03-03
  • php观察者模式应用场景实例详解

    php观察者模式应用场景实例详解

    这篇文章主要介绍了php观察者模式应用场景,结合完整实例形式详细分析了php观察者模式的具体定义与使用技巧,需要的朋友可以参考下
    2017-02-02
  • Laravel网站打开速度优化的方法汇总

    Laravel网站打开速度优化的方法汇总

    最近在学习 Laravel 框架,自己做了个小站,总结了一些 Laravel 网站性能提升的方法。所以下面这篇文章主要给大家汇总介绍了关于Laravel网站打开速度优化的一些方法,文中介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • php 带逗号千位符数字的处理方法

    php 带逗号千位符数字的处理方法

    php 带逗号千位符数字的处理方法,需要的朋友可以参考下。
    2012-01-01
  • PHP中的替代语法简介

    PHP中的替代语法简介

    这篇文章主要介绍了PHP中的替代语法简介,是PHP程序设计中并不常见却有重要作用的一个用法,需要的朋友可以参考下
    2014-08-08

最新评论