<address id="ousso"></address>
<form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
  1. 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

    <address id="ousso"></address>
    <form id="ousso"><track id="ousso"><big id="ousso"></big></track></form>
    1. 日日做夜狠狠爱欧美黑人