当前位置:首页> 正文
php中强制下载文件的代码|解决了IE下中文文件名乱码问题
中间遇到一个问题是提交的中文文件名直接放到header里在IE下会变成乱码,解决方法是将文件名先urlencode一下再放入header,如下。
复制代码 代码如下:
?php
$file_name = urlencode($_REQUEST[’filename’]);
header("Pragma: public"); header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header(’Content-Type: application/vnd.ms-excel; charset=utf-8’);
header("Content-Transfer-Encoding: binary");
header(’Content-Disposition: attachment; filename=’.$file_name);
echo stripslashes($_REQUEST[’content’]);
?
解决PHP Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码就可以解决了。
解决方案一(我的页面是utf-8编码):
复制代码 代码如下:
$filename = "中文.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header(’Content-Type: application/octet-stream’);
if (preg_match("/MSIE/", $ua)) {
header(’Content-Disposition: attachment; filename="’ . $encoded_filename . ’"’);
} else if (preg_match("/Firefox/", $ua)) {
header(’Content-Disposition: attachment; filename*="utf8’’’ . $filename . ’"’);
} else {
header(’Content-Disposition: attachment; filename="’ . $filename . ’"’);
}
解决方法二
将文件名先urlencode一下再放入header,如下。
代码如下:
复制代码 代码如下: ?php
$file_name = urlencode($_REQUEST[’filename’]);
header("Pragma: public"); header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header(’Content-Type: application/vnd.ms-excel; charset=utf-8’);
header("Content-Transfer-Encoding: binary");
header(’Content-Disposition: attachment; filename=’.$file_name);
echo stripslashes($_REQUEST[’content’]);
?
您可能感兴趣的文章:Php中文件下载功能实现超详细流程分析php实现文件下载(支持中文文名)跨浏览器PHP下载文件名中的中文乱码问题解决方法php 下载保存文件保存到本地的两种实现方法PHP实现远程下载文件到本地php实现文件下载代码分享php下载文件的代码示例PHP文件下载类php实现支持中文的文件下载功能示例
复制代码 代码如下:
?php
$file_name = urlencode($_REQUEST[’filename’]);
header("Pragma: public"); header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header(’Content-Type: application/vnd.ms-excel; charset=utf-8’);
header("Content-Transfer-Encoding: binary");
header(’Content-Disposition: attachment; filename=’.$file_name);
echo stripslashes($_REQUEST[’content’]);
?
解决PHP Header下载文件在IE文件名中文乱码有两种常见的,一种是是把页面编码改成utf8,另一种是对中文url进入urlencode编码就可以解决了。
解决方案一(我的页面是utf-8编码):
复制代码 代码如下:
$filename = "中文.txt";
$ua = $_SERVER["HTTP_USER_AGENT"];
$encoded_filename = urlencode($filename);
$encoded_filename = str_replace("+", "%20", $encoded_filename);
header(’Content-Type: application/octet-stream’);
if (preg_match("/MSIE/", $ua)) {
header(’Content-Disposition: attachment; filename="’ . $encoded_filename . ’"’);
} else if (preg_match("/Firefox/", $ua)) {
header(’Content-Disposition: attachment; filename*="utf8’’’ . $filename . ’"’);
} else {
header(’Content-Disposition: attachment; filename="’ . $filename . ’"’);
}
解决方法二
将文件名先urlencode一下再放入header,如下。
代码如下:
复制代码 代码如下: ?php
$file_name = urlencode($_REQUEST[’filename’]);
header("Pragma: public"); header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Type: application/force-download");
header(’Content-Type: application/vnd.ms-excel; charset=utf-8’);
header("Content-Transfer-Encoding: binary");
header(’Content-Disposition: attachment; filename=’.$file_name);
echo stripslashes($_REQUEST[’content’]);
?
您可能感兴趣的文章:Php中文件下载功能实现超详细流程分析php实现文件下载(支持中文文名)跨浏览器PHP下载文件名中的中文乱码问题解决方法php 下载保存文件保存到本地的两种实现方法PHP实现远程下载文件到本地php实现文件下载代码分享php下载文件的代码示例PHP文件下载类php实现支持中文的文件下载功能示例
展开全文阅读
相关内容
-
HTML5在IE10、火狐下中文乱码问题的解决方法
HTML5在IE10、火狐下中文乱码问题的解决方法,火狐,网页,复制,...
-
IE浏览器中无法从Google文件服务中下载文件的问
IE浏览器中无法从Google文件服务中下载文件的问题,文件,服务,...
-
windows11找不到文件请确定文件名是否正确怎么
windows11找不到文件请确定文件名是否正确怎么办?,文件名,文件...
-
Linux文件名字批量修改步骤 Linux修改文件名的
Linux文件名字批量修改步骤 Linux修改文件名的方法,文件名,修...
-
剪映文字怎么复制粘贴(剪映文字版教程)
剪映文字怎么复制粘贴(剪映文字版教程),教程,文字,复制,粘贴,...
-
如何快速复制360图书馆中的文章?
如何快速复制360图书馆中的文章?,复制,快速,个人图书馆,教程,...
-
网页文本无法复制怎么办?
网页文本无法复制怎么办?,文本,复制,网页,全选,文字,在线,复制...
-
360图书馆中的文章怎么快速复制 快速复制360图
360图书馆中的文章怎么快速复制 快速复制360图书馆中的文章...
-
微信中文件打不开怎么办 微信文件打不开的解决
微信中文件打不开怎么办 微信文件打不开的解决方法,文件打不...
-
网页文字无法复制粘贴怎么办?
网页文字无法复制粘贴怎么办?,文字,复制粘贴,网页,复制,网站,...
-
如何使用搜狗输入法中的文字扫描功能 搜狗输入
如何使用搜狗输入法中的文字扫描功能 搜狗输入法中文字扫描...
-
网页文字复制不了怎么办?
网页文字复制不了怎么办?,文字,复制,网页,快照,点击,界面,文档...
-
IE9.0无法使用迅雷下载文件该怎样处理?
IE9.0无法使用迅雷下载文件该怎样处理?,文件,迅雷下载,单击,启...
-
mysql 或sql同一表中.两个字段值互相复制,从一
mysql 或sql同一表中.两个字段值互相复制,从一个字段值复制...
-
怎么解决Myeclipse导入项目中文乱码?
怎么解决Myeclipse导入项目中文乱码?,中文乱码,导入项目,设置,...