解决Content-Disposition:|解决Content-Disposition: 下载中文名乱码,下载乱码
【解决Content-Disposition:|解决Content-Disposition: 下载中文名乱码,下载乱码】header('Content-Disposition: attachment;
filename*="'. $FileNname . '"');
浏览器的不同导致PHP下载中文名乱码。
解决办法如下:
经测试,目前以兼容各主流浏览器。
- $lb_sourcefile_name=$_GET['sourcefile'];
- $down_url=$_GET['operate'];
- if($_GET['mykey']){
- $mykey=$_GET['mykey'];
- $mykey=str_replace("_","+",$mykey);
- $mykey=base64_decode($mykey);
- if($mykey === '2013abcdefg2013lubansoft9527'){
- $lb_sourcefile_name=str_replace("_","+",$lb_sourcefile_name);
- $lb_sourcefile_name=base64_decode($lb_sourcefile_name);
- $down_url=str_replace("_","+",$down_url);
- $down_url=base64_decode($down_url);
- $down_url='../lb/rename_file/'.$down_url;
- $ua = $_SERVER["HTTP_USER_AGENT"];
- header('Content-Description: File Transfer');
- header('Content-Type: application/octet-stream');
- if (preg_match("/MSIE/", $ua)) {
- $lb_sourcefile_name = urlencode($lb_sourcefile_name);
- $lb_sourcefile_name = str_replace("+", "%20", $lb_sourcefile_name);
- header('Content-Disposition: attachment; filename="' . $lb_sourcefile_name . '"');
- }
- elseif (preg_match("/Firefox/", $ua)) {
- header('Content-Disposition: attachment; filename*="utf8\'\'' . $lb_sourcefile_name . '"');
- }
- else {
- header('Content-Disposition: attachment; filename="' . $lb_sourcefile_name . '"');
- }
- header('Content-Transfer-Encoding: binary');
- header('Expires: 0');
- header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
- header('Pragma: public');
- header('Content-Length: ' . filesize($down_url));
- ob_clean();
- flush();
- readfile($down_url);
- exit;
- }
- else{
- die(404);
- }
- }
本文转自许琴 51CTO博客,原文链接:http://blog.51cto.com/xuqin/1158319 ,如需转载请自行联系原作者
推荐阅读
- parallels|parallels desktop 解决网络初始化失败问题
- 考研英语阅读终极解决方案——阅读理解如何巧拿高分
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- SpringBoot调用公共模块的自定义注解失效的解决
- 解决SpringBoot引用别的模块无法注入的问题
- Spark|Spark 数据倾斜及其解决方案
- 解决SyntaxError:|解决SyntaxError: invalid syntax
- 《机器学习实战》高清中文版PDF英文版PDF+源代码下载
- 百度云极速下载,来体验飞的感觉,还可以看最新动漫的百度云视频哦
- Spectrum|Spectrum 区块偶尔停止同步问题排查与解决笔记