程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> apache mod_xsendfile:讓php提供更快的文件下載

apache mod_xsendfile:讓php提供更快的文件下載

編輯:PHP綜合

服務器提供一個文件下載,一般使用一個url指向服務器中的文件即可提供下載。

但這樣就不能進行統計,權限檢測等操作。

因此,一般使用php提供下載,代碼如下:

<?php  
$file = 'test.zip';  
if(file_exists($file)){  
    header('content-type:application/octet-stream');  
    header('content-disposition:attachment; filename='.basename($file));  
    header('content-length:'.filesize($file));  
    readfile($file);  
}  
?>

處理中文文件名:

<?php  
$file = 'test.zip';  
$filename = '中文.zip';  
      
if(file_exists($file)){  
    $user_agent = $_SERVER['Http_User_agent'];  
    $encode_filename = rawurlencode($filename);  
      
    if(preg_match("/MSIE/", $user_agent)){  
        header('content-disposition:attachment; filename="'.$encode_filename.'"');  
    }else if(preg_match("/Firefox/", $user_agent)){  
        header("content-disposition:attachment; filename*=\"utf8''".$filename.'"');  
    }else{  
        header('content-disposition:attachment; filename="'.$filename.'"');  
    }  
    readfile($file);  
}  
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved