当前位置:首页> 正文
php中强制下载文件的代码|解决了IE下中文文件名乱码问题
![php中强制下载文件的代码|解决了IE下中文文件名乱码问题](/ezd/notimg/185.jpg)
复制代码 代码如下:
?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导入项目中文乱码?,中文乱码,导入项目,设置,...