下载文件--针对大多数的文件类型
程序员文章站
2022-03-24 11:36:13
...
下载文件--针对大多数的文件类型
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); }
推荐阅读
-
php readfile函数下载文件并判断权限的代码示例
-
PHP判断上传文件类型的解决办法,
-
php多线程下载远程多个文件的函数
-
SSM以流的形式实现单个文件下载时遇到文件名带中文时变成下划线解决办法
-
PHP最常用的ini函数分析 针对PHP.ini配置文件_PHP
-
苹果360云盘下载的文件路径是什么下载的文件在哪里
-
JavaWeb文件下载文件名称变成下划线的完美解决与分析
-
使用springboot实现文件下载时文件名中的中文变成下划线
-
【SpringBoot】解决Java下载文件时文件名中的中文变成下划线的问题
-
php让浏览器下载txt等类型的文件 uc浏览器导入txt 浏览器打开txt 360极速浏览器规则tx