這篇文章主要介紹了PHP實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載的方法,涉及php針對(duì)文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
本文實(shí)例講述了PHP實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載的方法。分享給大家供大家參考。具體如下:
- $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();//函數(shù)輸出文件指針處的所有剩余數(shù)據(jù)。
該函數(shù)將給定的文件指針從當(dāng)前的位置讀取到 EOF,并把結(jié)果寫(xiě)到輸出緩沖區(qū)。
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所幫助。
新聞熱點(diǎn)
疑難解答