PHP实现HTTP断点续传的方法
发布时间:2020-12-13 02:40:59 所属栏目:PHP教程 来源:网络整理
导读:《PHP实现HTTP断点续传的方法》要点: 本文介绍了PHP实现HTTP断点续传的方法,希望对您有用。如果有疑问,可以联系我们。 本篇章节讲解PHP实现HTTP断点续传的办法.供大家参考研究.具体实现办法如下: ?php/** * PHP-HTTP断点续传实现 * @param strin
《PHP实现HTTP断点续传的方法》要点: 本篇章节讲解PHP实现HTTP断点续传的办法.分享给大家供大家参考.具体实现办法如下: <?php /** * PHP-HTTP断点续传实现 * @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程序设计有所帮助. 欢迎参与《PHP实现HTTP断点续传的方法》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |