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

飘逸的风13年前 (2013-01-26)程序6777
以下这段代码作用是:浏览器提交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编程效率的53个要点

用单引号代替双引号来包含字符串,这样做会更快一些。因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册中说...

PHP中正则表达式的几则使用技巧归总

PHP正则表达式主要用于字符串的模式分割、匹配、查找及替换操作。使用正则表达式在某些简单的环境下可能效率不高,因此如何更好的使用PHP正则表达式需要综合考虑。 我的PHP正则入门,是起源于网上的一篇...

用PHP判断一个gif图片是不是动画

01 <?php 02 function IsAnimatedGif($filename) 03 { 04  &...

分享一个生成sitemap.xml的类

很多站长在做seo优化的时候都会向各大搜索引擎网站提交站点地图sitemap.xml,同样需要提交。于是专门写了一个生成sitemap.xml的类,支持生成在制定目录下,默认生成在网站根目录下。 分...

PHP常用正则表达式汇总

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

可以让PHP编程事半功倍的类库

可以让PHP编程事半功倍的类库

在用php开发网站的时候,使用面向对象的方法确实可以提高代码复用率,减少代码冗余。而对初学者更友好的是,PHP开发网站所需要的大部分类库,网上都有十分优秀的类库存在了。作为一个程序猿当然不能重复制造轮...

发表评论

访客

看不清,换一张

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