PHP簡單實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載的方法
更新時間:2015年09月25日 10:52:59 作者:deeka
這篇文章主要介紹了PHP實(shí)現(xiàn)斷點(diǎn)續(xù)傳下載的方法,涉及php針對文件傳輸?shù)南嚓P(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
本文實(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é)果寫到輸出緩沖區(qū)。
希望本文所述對大家的php程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:
- php斷點(diǎn)續(xù)傳之如何分割合并文件
- 解決PHP超大文件下載,斷點(diǎn)續(xù)傳下載的方法詳解
- php實(shí)現(xiàn)的支持?jǐn)帱c(diǎn)續(xù)傳的文件下載類
- php下載遠(yuǎn)程文件類(支持?jǐn)帱c(diǎn)續(xù)傳)
- PHP實(shí)現(xiàn)HTTP斷點(diǎn)續(xù)傳的方法
- php斷點(diǎn)續(xù)傳之文件分割合并詳解
- 關(guān)于php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼
- php+resumablejs實(shí)現(xiàn)的分塊上傳 斷點(diǎn)續(xù)傳功能示例
- php支持?jǐn)帱c(diǎn)續(xù)傳、分塊下載的類
- PHP實(shí)現(xiàn)斷點(diǎn)續(xù)傳亂序合并文件的方法
相關(guān)文章
PHP-FPM運(yùn)行狀態(tài)的實(shí)時查看及監(jiān)控詳解
php-fpm和nginx一樣內(nèi)建了一個狀態(tài)頁,對于想了解php-fpm的狀態(tài)以及監(jiān)控php-fpm非常有幫助。這篇文章就給大家詳細(xì)介紹了PHP-FPM運(yùn)行狀態(tài)的實(shí)時查看及監(jiān)控,有需要的朋友們可以參考學(xué)習(xí),感興趣的朋友們下面來一起看看吧。2016-11-11關(guān)于php連接mssql:pdo odbc sql server
研究了很久,終于發(fā)現(xiàn):最新的php 5.3.6中php_mssql.dll,php_pdo_mssql.dll都已經(jīng)不見了。2011-07-07php文件操作小結(jié)(刪除指定文件/獲取文件夾下的文件名/讀取文件夾下圖片名)
這篇文章主要介紹了php文件操作方法,包括刪除指定文件、獲取文件夾下的文件名及讀取文件夾下圖片名,涉及php針對文件與目錄的常用操作技巧,需要的朋友可以參考下2016-05-05