《PHP教程:PHP實現(xiàn)HTTP斷點續(xù)傳的方法》要點:
本文介紹了PHP教程:PHP實現(xiàn)HTTP斷點續(xù)傳的方法,希望對您有用。如果有疑問,可以聯(lián)系我們。
本文實例講述了PHP實現(xiàn)HTTP斷點續(xù)傳的辦法.分享給大家供大家參考.具體實現(xiàn)辦法如下:PHP應(yīng)用
<?php /** * PHP-HTTP斷點續(xù)傳實現(xiàn) * @param string $path: 文件所在路徑 * @param string $file: 文件名 * @return void */ function download($path,$file) { $real = $path.'/'.$file; if(!file_exists($real)) { return false; } $size = filesize($real); $size2 = $size-1; $range = 0; if(isset($_SERVER['HTTP_RANGE'])) { header('HTTP /1.1 206 Partial Content'); $range = str_replace('=','-',$_SERVER['HTTP_RANGE']); $range = explode('-',$range); $range = trim($range[1]); header('Content-Length:'.$size); header('Content-Range: bytes '.$range.'-'.$size2.'/'.$size); } else { header('Content-Length:'.$size); header('Content-Range: bytes 0-'.$size2.'/'.$size); } header('Accenpt-Ranges: bytes'); header('application/octet-stream'); header("Cache-control: public"); header("Pragma: public"); //辦理在IE中下載時中文亂碼問題 $ua = $_SERVER['HTTP_USER_AGENT']; if(preg_match('/MSIE/',$ua)) { $ie_filename = str_replace('+','%20',urlencode($file)); header('Content-Dispositon:attachment; filename='.$ie_filename); } else { header('Content-Dispositon:attachment; filename='.$file); } $fp = fopen($real,'rb+'); fseek($fp,$range); while(!feof($fp)) { set_time_limit(0); print(fread($fp,1024)); flush(); ob_flush(); } fclose($fp); }
希望本文所述對大家的php程序設(shè)計有所幫助.PHP應(yīng)用
歡迎參與《PHP教程:PHP實現(xiàn)HTTP斷點續(xù)傳的方法》討論,分享您的想法,維易PHP學院為您提供專業(yè)教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10322.html