欢迎来到专业的万有范文网平台! 工作总结 工作计划 心得体会 思想汇报 述职报告 教案设计 整改报告 事迹材料
当前位置:首页 > 范文大全 > 公文范文 > 正文

PHP实现HTTP断点续传方法

时间:2023-02-12 17:45:04 浏览量:

PHP是一种通用开源脚本语言。本文实例讲述了PHP实现HTTP断点续传的方法。分享给大家供大家参考。 具体实现方法如下:PHP实现HTTP断点续传方法,供大家参考。

PHP实现HTTP断点续传方法

  PHP是一种通用开源脚本语言。本文实例讲述了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;

  ifisset$_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'];

  ifpreg_match'/MSIE/',$ua

  $ie_filename = str_replace'+','',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_limit0;

  printfread$fp,1024;

  flush;

  ob_flush;

  fclose$fp;

推荐访问: