首頁 >後端開發 >php教程 >php 斷點續傳的簡單例子

php 斷點續傳的簡單例子

WBOY
WBOY原創
2016-07-25 08:57:32821瀏覽
本文介绍下,php实现断点续传的简单例子,有需要的朋友参考下。

分享一个php 断点续传的代码,供大家参考。

代码如下:

<?php
/**
* php断点续传
* edit by bbs.it-home.org
*/
$fname = './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 下载远程文件 支持断点续传



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn