<pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

          <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

          <p id="bbfd9"></p>

          <p id="bbfd9"><cite id="bbfd9"></cite></p>

            <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

            <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
            <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
            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

                    <pre id="bbfd9"><del id="bbfd9"><dfn id="bbfd9"></dfn></del></pre>

                    <ruby id="bbfd9"></ruby><p id="bbfd9"><mark id="bbfd9"></mark></p>

                    <p id="bbfd9"></p>

                    <p id="bbfd9"><cite id="bbfd9"></cite></p>

                      <th id="bbfd9"><form id="bbfd9"><dl id="bbfd9"></dl></form></th>

                      <p id="bbfd9"><cite id="bbfd9"></cite></p><p id="bbfd9"></p>
                      <p id="bbfd9"><cite id="bbfd9"><progress id="bbfd9"></progress></cite></p>
                      飘沙影院