亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php支持分塊與斷點續傳文件下載功能代碼

2024-09-04 11:45:02
字體:
來源:轉載
供稿:網友

本文章要介紹了這篇文章是一篇關于php流下載,就是可以支持分塊與斷點續傳文件下載,有需要的朋友可以看看,代碼如下:

  1. $dowmFile = dirname ( __FILE__ ) . '/Nokia - Always Here.mp3'//要下載的文件,絕對或相對 
  2. $dowmName = 'Nokia - Always Here.mp3'
  3. ob_start (); 
  4. getlocalfile ( $dowmFile$dowmName ); 
  5. flush (); 
  6. ob_flush (); 
  7. function getlocalfile($fname$filename = '') { 
  8.   $fsize = filesize ( $fname ); 
  9.   header ( 'Cache-Control: public' ); 
  10.   header ( 'Pragma: public' ); 
  11.   header ( 'Accept-Ranges: bytes' ); 
  12.   header ( 'Connection: close' ); 
  13.   header ( 'Content-Type: ' . MIMEType ( $fname ) ); 
  14.   //header('Content-Type: application/octet-stream'); 
  15.   if (isset ( $filename {0} )) { 
  16.     header ( 'Content-Disposition: attachment;filename=' . $filename ); 
  17.   } 
  18.   if ($fp = @fopen ( $fname'rb' )) { 
  19.     $start = 0; 
  20.     $end = $fsize
  21.     $isRange = isset ( $_SERVER ['HTTP_RANGE'] ) && ($_SERVER ['HTTP_RANGE'] != ''); 
  22.     if ($isRange) { 
  23.       preg_match ( '/^bytes=([0-9]*)-([0-9]*)$/i'$_SERVER ['HTTP_RANGE'], $match ); 
  24.       $start = $match [1]; 
  25.       $end = $match [2]; 
  26.       $isset_start = isset ( $start {0} ); 
  27.       $isset_end = isset ( $end {0} ); 
  28.       if ($isset_start && $isset_end) { 
  29.         //分塊下載 
  30.         if ($start >= $fsize || $start < 0 || $start > $end) { 
  31.           $start = 0; 
  32.           $end = $fsize
  33.         } else if ($end >= $fsize) { 
  34.           $end = $fsize - $start
  35.         } else { 
  36.           $end -= $start - 1; 
  37.         } 
  38.       } else if ($isset_start && ! $isset_end) { 
  39.         //指定位置到結束 
  40.         if ($start >= $fsize || $start < 0) { 
  41.           $start = 0; 
  42.           $end = $fsize
  43.         } else { 
  44.           $end = $fsize - $start
  45.         } 
  46.       } else if (! $isset_start && $isset_end) { 
  47.         //最后n個字節 
  48.         $end = $end > $fsize ? $fsize : $end
  49.         $start = $fsize - $end
  50.       } else { 
  51.         $start = 0; 
  52.         $end = $fsize
  53.       } 
  54.     } 
  55.     if ($isRange) { 
  56.       fseek ( $fp$start ); 
  57.       header ( 'HTTP/1.1 206 Partial Content' ); 
  58.       header ( 'Content-Length: ' . $end ); 
  59.       header ( 'Content-Ranges: bytes ' . $start . '-' . ($end + $start - 1) . '/' . $fsize ); 
  60.     } else { 
  61.       header ( 'Content-Length: ' . $fsize ); 
  62.     } 
  63.     if (function_exists ( 'fpassthru' ) && ($end + $start) == $fsize) { 
  64.       fpassthru ( $fp ); 
  65.     } else { 
  66.       echo fread ( $fp$end ); 
  67.     } 
  68.   } else { 
  69.     header ( 'Content-Length: ' . $fsize ); 
  70.     readfile ( $fname ); 
  71.   } 
  72.   //@header("Content-Type: ".mime_content_type($fname)); 
  73. function MIMEType($fname) { 
  74.   $fileSuffix = strtolower ( substr ( $fnamestrrpos ( $fname'.' ) + 1 ) ); 
  75.   switch ($fileSuffix) { 
  76.     case 'avi' : 
  77.       return 'video/msvideo'
  78.     case 'wmv' : 
  79.       return 'video/x-ms-wmv'
  80.     case 'txt' : 
  81.       return 'text/plain'
  82.     case 'htm' : 
  83.     case 'html' : 
  84.     case 'php' : 
  85.       return 'text/html'
  86.     case 'css' : 
  87.       return 'text/css'
  88.     case 'js' : 
  89.       return 'application/javascript'
  90.     case 'json' : 
  91.     case 'xml' : 
  92.     case 'zip' : 
  93.     case 'pdf' : 
  94.     case 'rtf' : 
  95.     case 'tar' : 
  96.       return 'application/' . $fileSuffix
  97.     case 'swf' : 
  98.       return 'application/x-shockwave-flash'
  99.     case 'flv' : 
  100.       return 'video/x-flv'
  101.     case 'jpe' : 
  102.     case 'jpg' : 
  103.       return 'image/jpeg'
  104.     case 'jpeg' : 
  105.     case 'png' : 
  106.     case 'gif' : 
  107.     case 'bmp' : 
  108.     case 'tiff' : 
  109.       return 'image/' . $fileSuffix
  110.     case 'ico' : 
  111.       return 'image/vnd.microsoft.icon'
  112.     case 'tif' : 
  113.       return 'image/tiff'
  114.     case 'svg' : 
  115.     case 'svgz' : 
  116.       return 'image/svg+xml'
  117.     case 'rar' : 
  118.       return 'application/x-rar-compressed'
  119.     case 'exe' : 
  120.     case 'msi' : 
  121.       return 'application/x-msdownload'
  122.     case 'cab' : 
  123.       return 'application/vnd.ms-cab-compressed'
  124.     case 'aif' : 
  125.       return 'audio/aiff'
  126.     case 'mpg' : 
  127.     case 'mpe' : 
  128.     case 'mp3' : 
  129.       return 'audio/mpeg'
  130.     case 'mpeg' : 
  131.     case 'wav' : 
  132.     case 'aiff' : 
  133.       return 'audio/' . $fileSuffix
  134.     case 'qt' : 
  135.     case 'mov' : 
  136.       return 'video/quicktime'
  137.     case 'psd' : 
  138.       return 'image/vnd.adobe.photoshop'
  139.     case 'ai' : 
  140.     case 'eps' : 
  141.     case 'ps' : 
  142.       return 'application/postscript'
  143.     case 'doc' : 
  144.     case 'docx' : 
  145.       return 'application/msword'
  146.     case 'xls' : 
  147.     case 'xlt' : 
  148.     case 'xlm' : 
  149.     case 'xld' : 
  150.     case 'xla' : 
  151.     case 'xlc' : 
  152.     case 'xlw' : 
  153.     case 'xll' : 
  154.       return 'application/vnd.ms-excel'
  155.     case 'ppt' : 
  156.     case 'pps' : 
  157.       return 'application/vnd.ms-powerpoint'
  158.     case 'odt' : 
  159.       return 'application/vnd.oasis.opendocument.text'
  160.     case 'ods' : 
  161.       return 'application/vnd.oasis.opendocument.spreadsheet'
  162.     default ://開源代碼Vevb.com 
  163.       if (function_exists ( 'mime_content_type' )) { 
  164.         $fileSuffix = mime_content_type ( $filename ); 
  165.       } else { 
  166.         $fileSuffix = 'application/octet-stream'
  167.       } 
  168.       return $fileSuffix
  169.       break
  170.   } 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品福利在线| 中文字幕日韩电影| 秋霞av国产精品一区| 日日狠狠久久偷偷四色综合免费| 自拍偷拍亚洲欧美| 在线a欧美视频| 97色在线视频| 亚洲国产欧美自拍| 91久久久久久久久| 国产精品免费一区豆花| 亚洲黄色av网站| 欧美亚洲第一区| 成人激情在线观看| 日本高清+成人网在线观看| 国产精品成人av性教育| 日韩视频中文字幕| 亚洲第一精品自拍| 人妖精品videosex性欧美| 亚洲四色影视在线观看| 国产在线观看一区二区三区| 97香蕉久久超级碰碰高清版| 色99之美女主播在线视频| 久久99亚洲热视| 久久久久久久久久久av| 亚洲一级一级97网| 国内精久久久久久久久久人| zzjj国产精品一区二区| 国产精品白丝jk喷水视频一区| 91av在线不卡| 国a精品视频大全| 色偷偷综合社区| 国产福利精品在线| 人人做人人澡人人爽欧美| 亚洲成人精品久久久| 色偷偷偷综合中文字幕;dd| 亚洲人高潮女人毛茸茸| 国产成人av在线| 欧美性xxxxx| 国产成人精品电影| 日韩欧美在线第一页| 热门国产精品亚洲第一区在线| 日韩成人激情影院| 日本亚洲欧美成人| 国产午夜精品全部视频播放| 亚洲性夜色噜噜噜7777| 精品国产精品三级精品av网址| 九九精品在线视频| 日韩大片免费观看视频播放| 中文字幕精品在线视频| 美女国内精品自产拍在线播放| 91在线免费视频| 久久视频国产精品免费视频在线| 欧美第一淫aaasss性| 岛国av一区二区| 亚洲欧美综合精品久久成人| 国产丝袜高跟一区| 欧美精品999| 精品中文字幕视频| 中文字幕最新精品| 国产欧美精品日韩| 国产中文字幕91| 国产精品h在线观看| 另类图片亚洲另类| 精品成人乱色一区二区| 亚洲国产日韩精品在线| 欧美日韩午夜激情| 91国产高清在线| 蜜臀久久99精品久久久无需会员| 亚洲国产精品一区二区久| 成人黄色中文字幕| 久久艳片www.17c.com| 成人有码在线播放| 久久久久久高潮国产精品视| 亚洲缚视频在线观看| 国产精品第七十二页| 国产一级揄自揄精品视频| 久久国产精品影片| 亚洲天堂av在线免费观看| 国产精品久久久久久久av大片| 久久韩剧网电视剧| 成人xvideos免费视频| 久久久久久久久久久免费精品| 在线电影av不卡网址| 国产成人一区二区三区小说| 亚洲国产成人在线播放| 国产999在线观看| 国产一区二区三区在线看| 在线成人中文字幕| 亚洲欧洲日产国产网站| 亚洲国产精久久久久久久| 97色在线观看免费视频| 色系列之999| 欧美xxxx14xxxxx性爽| 久久久人成影片一区二区三区观看| 亚洲第一在线视频| 国产精品视频男人的天堂| 久久久精品视频在线观看| 中文字幕免费国产精品| 日韩在线视频国产| 啊v视频在线一区二区三区| 日韩精品中文字幕在线| 国产91精品不卡视频| 91中文在线视频| 亚洲精品一二区| 538国产精品一区二区在线| 欧美激情视频给我| 久久人人爽人人爽人人片亚洲| 国产精品jvid在线观看蜜臀| 国产做受69高潮| 国产精品偷伦视频免费观看国产| 久久夜色精品国产亚洲aⅴ| 国产a级全部精品| 国产女人18毛片水18精品| 在线观看日韩欧美| 538国产精品一区二区免费视频| 亚洲小视频在线观看| 久久99精品久久久久久青青91| 久久这里只有精品99| 亚洲女同精品视频| 伊人久久免费视频| 国产亚洲精品久久久优势| 欧美色图在线视频| 美女撒尿一区二区三区| 国产91在线播放九色快色| 亚洲va电影大全| 中文字幕亚洲自拍| 国产在线久久久| 国产精品成人va在线观看| 欧美人成在线视频| 欧美日韩视频在线| 日韩**中文字幕毛片| 欧美性xxxxxxxxx| 人人澡人人澡人人看欧美| 青青草国产精品一区二区| 欧美中文字幕在线| 欧美激情喷水视频| 亚洲成人教育av| 久久精品中文字幕电影| 国产日韩精品在线观看| 精品国产区一区二区三区在线观看| 日韩国产激情在线| 久久国产天堂福利天堂| 7777免费精品视频| 最近免费中文字幕视频2019| 亚洲电影免费观看高清完整版在线| www国产精品视频| 国产精品综合不卡av| 97av在线影院| 91亚洲一区精品| 国产啪精品视频| 91精品国产综合久久久久久蜜臀| 欧美午夜丰满在线18影院| 亚洲天堂色网站| 欧美午夜性色大片在线观看| 亚洲人成网站色ww在线| 久久综合网hezyo| 夜夜嗨av色一区二区不卡| 精品福利樱桃av导航| 日韩精品视频在线播放| 九九热最新视频//这里只有精品| 国产999精品视频| 热99精品只有里视频精品| 国产成人精品最新| 国产亚洲欧洲黄色|