下载文件--针对大多数的文件类型
function forcedownload($filename='' ,$data=''){
if($filename=='' or $data==''){ return false; }
if(flase === strpos($filename,'.')){
return false;
}
$x = explod('.',$filename);
$extension = end($x);
$mimes = array('hqx'=>'application/mac-binhex40','cpt'=>'application/mac-compactpro','csv'=>'text/x-comma-separated-values','text/csv','application/csv','application/excel','application/vnd.msexcel','bin'=>'application/macbinary','dms'=>'application/octet-stream','lha'=>'application/octet-stream','lzh'=>'application/octect-stream','exe'=>array('application/octet-stream'));
if(!isset($mimes[$extension])){ $mime = 'application/octet-stream'; }
else{ $mime = (is_array($mimes[$extension]); ))?$mimes[$extension][0]: $mimes[$extension]; }
header('content-type:"'. $mime.'"');
$tmpname = $filename;
$filename = '"''.urlencode($tmpname)."'; ////ie 中文名支持
if(strstr(strtolower($_server['http_user_ager']),'firefox') !=false){ $filename='" .$tmpname."';} /////firefox 中文支持
if(strstr(strtolower($_server['http_user_ager']),'chrome') !=false){ $filename='" .$tmpname."';} /////chrome 中文支持
header('content-disposition:attachment; filename='. $filename);
header('expires:0');
header('cache-control: must-revalidate,post-check=0,pre-check=0');
header('content-transfer-encoding:binary');
header('pragma:no-cache');
header('content-length:'.strlen($data));
exit($data);
}