国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - PHP教程 - php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼 - php上

php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼 - php上

2024-10-30 11:30網(wǎng)絡(luò)整理 PHP教程

php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼 本文章要介紹了這篇文章是一篇關(guān)于php流下載,就是可以支持分塊與斷點(diǎn)續(xù)傳文件下載,有需要的朋友可以看看,代碼如下:$dowmFile = dirname ( __FILE__ ) . /Nokia - Always Here.mp3; //要

php支持分塊與斷點(diǎn)續(xù)傳文件下載功能代碼

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

$dowmFile = dirname ( __FILE__ ) . '/Nokia - Always Here.mp3'//要下載的文件,絕對或相對 $dowmName = 'Nokia - Always Here.mp3'ob_start (); getlocalfile ( $dowmFile$dowmName ); flush (); ob_flush (); function getlocalfile($fname$filename = '') {   $fsize = filesize ( $fname );   header ( 'Cache-Control: public' );   header ( 'Pragma: public' );   header ( 'Accept-Ranges: bytes' );   header ( 'Connection: close' );   header ( 'Content-Type: ' . MIMEType ( $fname ) );   //header('Content-Type: application/octet-stream');   if (isset ( $filename {0} )) {     header ( 'Content-Disposition: attachment;filename=' . $filename );   }   if ($fp = @fopen ( $fname'rb' )) {     $start = 0;     $end = $fsize    $isRange = isset ( $_SERVER ['HTTP_RANGE'] ) && ($_SERVER ['HTTP_RANGE'] != '');     if ($isRange) {       preg_match ( '/^bytes=([0-9]*)-([0-9]*)$/i'$_SERVER ['HTTP_RANGE'], $match );       $start = $match [1];       $end = $match [2];       $isset_start = isset ( $start {0} );       $isset_end = isset ( $end {0} );       if ($isset_start && $isset_end) {         //分塊下載         if ($start >= $fsize || $start < 0 || $start > $end) {           $start = 0;           $end = $fsize        } else if ($end >= $fsize) {           $end = $fsize - $start        } else {           $end -= $start - 1;         }       } else if ($isset_start && ! $isset_end) {         //指定位置到結(jié)束         if ($start >= $fsize || $start < 0) {           $start = 0;           $end = $fsize        } else {           $end = $fsize - $start        }       } else if (! $isset_start && $isset_end) {         //最后n個字節(jié)         $end = $end > $fsize ? $fsize : $end        $start = $fsize - $end      } else {         $start = 0;         $end = $fsize      }     }     if ($isRange) {       fseek ( $fp$start );       header ( 'HTTP/1.1 206 Partial Content' );       header ( 'Content-Length: ' . $end );       header ( 'Content-Ranges: bytes ' . $start . '-' . ($end + $start - 1) . '/' . $fsize );     } else {       header ( 'Content-Length: ' . $fsize );     }     if (function_exists ( 'fpassthru' ) && ($end + $start) == $fsize) {       fpassthru ( $fp );     } else {       echo fread ( $fp$end );     }   } else {     header ( 'Content-Length: ' . $fsize );     readfile ( $fname );   }   //@header("Content-Type: ".mime_content_type($fname)); function MIMEType($fname) {   $fileSuffix = strtolower ( substr ( $fnamestrrpos ( $fname'.' ) + 1 ) );   switch ($fileSuffix) {     case 'avi' :       return 'video/msvideo'    case 'wmv' :       return 'video/x-ms-wmv'    case 'txt' :       return 'text/plain'    case 'htm' :     case 'html' :     case 'php' :       return 'text/html'    case 'css' :       return 'text/css'    case 'js' :       return 'application/javascript'    case 'json' :     case 'xml' :     case 'zip' :     case 'pdf' :     case 'rtf' :     case 'tar' :       return 'application/' . $fileSuffix    case 'swf' :       return 'application/x-shockwave-flash'    case 'flv' :       return 'video/x-flv'    case 'jpe' :     case 'jpg' :       return 'image/jpeg'    case 'jpeg' :     case 'png' :     case 'gif' :     case 'bmp' :     case 'tiff' :       return 'image/' . $fileSuffix    case 'ico' :       return 'image/vnd.microsoft.icon'    case 'tif' :       return 'image/tiff'    case 'svg' :     case 'svgz' :       return 'image/svg+xml'    case 'rar' :       return 'application/x-rar-compressed'    case 'exe' :     case 'msi' :       return 'application/x-msdownload'    case 'cab' :       return 'application/vnd.ms-cab-compressed'    case 'aif' :       return 'audio/aiff'    case 'mpg' :     case 'mpe' :     case 'mp3' :       return 'audio/mpeg'    case 'mpeg' :     case 'wav' :     case 'aiff' :       return 'audio/' . $fileSuffix    case 'qt' :     case 'mov' :       return 'video/quicktime'    case 'psd' :       return 'image/vnd.adobe.photoshop'    case 'ai' :     case 'eps' :     case 'ps' :       return 'application/postscript'    case 'doc' :     case 'docx' :       return 'application/msword'    case 'xls' :     case 'xlt' :     case 'xlm' :     case 'xld' :     case 'xla' :     case 'xlc' :     case 'xlw' :     case 'xll' :       return 'application/vnd.ms-excel'    case 'ppt' :     case 'pps' :       return 'application/vnd.ms-powerpoint'    case 'odt' :       return 'application/vnd.oasis.opendocument.text'    case 'ods' :       return 'application/vnd.oasis.opendocument.spreadsheet'    default ://開源代碼phpfensi.com       if (function_exists ( 'mime_content_type' )) {         $fileSuffix = mime_content_type ( $filename );       } else {         $fileSuffix = 'application/octet-stream'      }       return $fileSuffix      break  } 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品2区 | www久| 亚洲黄色在线观看 | 在线小视频 | 亚洲欧洲精品成人久久奇米网 | 精品亚洲一 | 中文字幕av第一页 | 国产精品一区三区 | 成人在线欧美 | 亚洲精品免费在线观看 | 国产美女www | 国产目拍亚洲精品99久久精品 | 草久久av | 久久99精品久久久久久6194 | 中文久久精品 | 国产一级视频 | 国产福利视频在线观看 | 免费av在线| 成人国产精品久久 | 欧美日韩久久久久 | 综合久久亚洲 | 欧美乱大交xxxxx春色视频 | 犬夜叉在线观看 | 欧美日韩精品一区二区在线观看 | 中文字幕国产视频 | 亚洲午夜精品视频 | 亚洲人成在线播放 | 日本免费在线视频 | 亚洲一区二区三区在线 | 亚洲国产中文字幕 | 91视频.com| 毛片网站在线观看 | 99热婷婷 | 中文字幕亚洲欧美 | 亚洲一区av在线 | 天堂久久爱资源站www | 亚洲91 | 99中文字幕 | 欧美一级欧美三级在线观看 | 成人在线小视频 | 男人午夜天堂 |