<delect id="sj01t"></delect>
  1. <em id="sj01t"><label id="sj01t"></label></em>
  2. <div id="sj01t"></div>
    1. <em id="sj01t"></em>

            <div id="sj01t"></div>
            php語言

            PHP實現HTTP斷點續傳的方法

            時間:2025-02-16 01:14:14 php語言 我要投稿
            • 相關推薦

            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;

              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('+','',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實現HTTP斷點續傳的方法】相關文章:

            PHP列表頁實現的方法05-24

            PHP實現多線程的方法03-19

            PHP實現多線程的方法08-02

            PHP多線程的實現方法03-13

            php頁面緩存實現方法07-20

            PHP實現獲取域名的方法小結02-03

            PHP實現無限級分類的方法07-14

            php實現簡單文件下載的方法07-24

            php實現偽靜態的方法實例11-30

            <delect id="sj01t"></delect>
            1. <em id="sj01t"><label id="sj01t"></label></em>
            2. <div id="sj01t"></div>
              1. <em id="sj01t"></em>

                      <div id="sj01t"></div>
                      黄色视频在线观看