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

yipeiwu_com7年前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程序设计有所帮助。

相关文章

PHP聊天室简单实现方法详解

PHP聊天室简单实现方法详解

本文实例讲述了PHP聊天室简单实现方法。分享给大家供大家参考,具体如下: 用户 => 客服 (先把信息入库,然后通过ob+长连接不断从数据库查询数据发送给客服) 客服 =>...

php实现的读取CSV文件函数示例

本文实例讲述了php实现的读取CSV文件函数。分享给大家供大家参考,具体如下: function read_csv($cvs) { $shuang = false; $str...

Yii2——使用数据库操作汇总(增删查改、事务)

本文介绍了 Yii2——使用数据库操作汇总(增删查改、事务),具体如下: 对象操作 查询 //1.简单查询 $admin=Admin::model()->findAll...

PHP获取数组最大值下标的方法

本文实例讲述了PHP获取数组最大值下标的方法。分享给大家供大家参考。具体实现方法如下: <?php $hots = array('8213'=> 0,'8212'...

Search File Contents PHP 搜索目录文本内容的代码

这个类可以用来搜索在给定的文本目录中的文件。 它可以给定目录遍历递归查找某些文件扩展名的文件。 并打开找到的文件,并检查他们是否包含搜索词语。 它返回一个含有所有文件的列表包含搜索词语数...