>  기사  >  백엔드 개발  >  php断点续传下载示例代码

php断点续传下载示例代码

WBOY
WBOY원래의
2016-07-25 08:54:34881검색
  1. $fname = './test.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] 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. }
  13. @header("content-type: application/octet-stream");
  14. @header("content-disposition: attachment;filename=mmdld.mp3");
  15. fpassthru($fp);
  16. fpassthru();//函数输出文件指针处的所有剩余数据。
复制代码

说明: 该函数将给定的文件指针从当前的位置读取到 eof,并把结果写到输出缓冲区,进而实现文件下载。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.