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