强制下载文件的代码(解决了IE下中文文件名乱码问题)

飘逸的风13年前 (2013-01-26)程序6853
以下这段代码作用是:浏览器提交excel格式的数据和文件名到服务器上,PHP将请求转化为可下载的excel文件,并要求浏览器弹出文件下载提示窗口。

中间遇到一个问题是提交的中文文件名直接放到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']);  

?>

转: https://www.cnblogs.com/aiyuchen/archive/2011/05/09/2040894.html

相关文章

用php解析html

注:分析html的好东西 最近想用php写一个爬虫,就需要解析html,在sourceforge上找到一个项目叫做PHP Simple HTML DOM Parser,它可以以类似jQuery的...

php soap带验证

Server端 <?php class Server { private $authenticated = false;   public function auth($...

PHP常用正则表达式汇总

1.    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用: 2.    &quo...

PHP给图片添加水印和生成缩略图函数

给图片添加水印: /************************************ 函数: watermark($bigimg, $smallimg, $coord = 1) 作用:...

PHP攻击网站防御代码-以及攻击代码反译

这是我无意中攻击一个网站发现的一个代码PHP有效的拦截住我的DDOS  <?php   //查询禁止IP   $ip =$_SERVER['R...

10个你可能从未用过的PHP函数

1. sys_getloadavg() sys_getloadavt()可以获得系统负载情况。该函数返回一个包含三个元素的数组,每个元素分别代表系统再过去的1、5和15分钟内的平均负载。...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。