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.1206PartialContent");
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程序设计有所帮助。