首页 > 开发 > PHP > 正文

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

2024-05-04 23:39:11
字体:
来源:转载
供稿:网友

这篇文章主要介绍了PHP实现断点续传下载的方法,涉及php针对文件传输的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了PHP实现断点续传下载的方法。分享给大家供大家参考。具体如下:

 

 
  1. $fname = 'http://XXXX/MMLDZG.mp3'
  2. $fp = fopen($fname,'rb'); 
  3. $fsize = filesize($fname); 
  4. 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) { 
  5. fseek($fp, $start); 
  6. Header("HTTP/1.1 206 Partial Content"); 
  7. Header("Content-Length: " . ($fsize - $start)); 
  8. Header("Content-Ranges: bytes" . $start . "-" . ($fsize - 1) . "/" . $fsize); 
  9. else { 
  10. header("Content-Length: $fsize"); 
  11. Header("Accept-Ranges: bytes"); 
  12. @header("Content-Type: application/octet-stream"); 
  13. @header("Content-Disposition: attachment;filename=mmdld.mp3"); 
  14. fpassthru($fp); 
  15. fpassthru();//函数输出文件指针处的所有剩余数据。 

该函数将给定的文件指针从当前的位置读取到 EOF,并把结果写到输出缓冲区。

希望本文所述对大家的php程序设计有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表