服務器提供一個文件下載,一般使用一個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);
}
?>