php文件夹名有哪些字符,PHP Content-Disposition标头:文件名中的特殊字符-程序员宅基地

技术标签: php文件夹名有哪些字符  

我试图下载一个文件名中包含特殊字符的php文件 . 不幸的是,这些字符被“_”代替 .

代码:

$filename = trim('<>$%&/=?' . '.txt');

header($_SERVER["SERVER_PROTOCOL"] . " 200 OK");

header("Cache-Control: public");

header("Content-Type: application/text");

header("Content-Transfer-Encoding: Binary");

header('Content-Disposition: attachment; '

. sprintf('filename="%s"; ', urlencode($filename))

. sprintf("filename*=utf-8''%s", urlencode($filename)));

echo "file contents";

die();

返回一个名为的文件

"__$%&_=_.txt"

该文件的编码是UTF-8 .

Sprintf()似乎不是问题所在:

header("Content-Disposition: attachment; filename*=utf-8''" . rawurlencode($filename));

要么

header("Content-Disposition: attachment; filename=\"" . $filename . "\"");

给出相同的结果 .

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34923852/article/details/115476417

智能推荐

第四次工业革命将来自人工智能和物联网。-程序员宅基地

文章浏览阅读385次。毫不奇怪,“关于一切的信息”的概念正在积极地应用于制造业背景。就像他们改变消费品一样,智能,廉价,传感器负载的设备与强大的分析和算法相结合,在过去十年中也在改变工业世界。“物联网”已经到达工厂车间,一个巨大的电子Kool-Aid Man的力量通过煤渣墙爆炸。大数据的分析和机器学习开始变得像匿名商业词汇,但它们不仅仅是过度使用抽象概念 - 这些流行语代表了我们日常生活中处理大部分技术的巨大变化。...

new Promise请求后台的数据返回成功以后,在去执行操作其他操作_new promise 里面包含请求后端接口-程序员宅基地

文章浏览阅读1.7k次,点赞2次,收藏3次。//记录下,如果在一个函数需要保证,请求后台的数据返回成功以后,在去执行操作其他操作//addEnv是axios请求以后封装好的接口function cat(){ return new Promise((reslove,reject)=>{ addEnv({id:1}).then(res=>{ reslove(res) }).catch(error=>{ reject(error) }) })}async function sheep(){ let r_new promise 里面包含请求后端接口

webstrom 的安装-程序员宅基地

文章浏览阅读253次。webstorm是一个前端开发神器。安装webstorm之前需要配置jdk。配置好jdk之后再进行安装webstorm;1.下载链接jdk:http://download.oracle.com/otn-pub/java/jdk/8u73-b02/jdk-8u73-linux-i586.tar.gz?AuthParam=1472692770_2276e0b95c38424d5105a4357..._webstorm需要配置jdk吗

数据结构——平衡二叉树的判断【递归算法】(C语言)_balance treec语言-程序员宅基地

文章浏览阅读874次。平衡二叉树的判断(左右子树的高度差只能为-1,0,1)#include<stdio.h>#include<stdlib.h>#include<queue>#include <iostream>#define MAXSIZE 10010#define ElemType intusing namespace std;typedef struct BTNode{ ElemType data; BTNode *lchild,*._balance treec语言

msyql中文乱码问题_msyql cli 登录 --default-character-set=charset-程序员宅基地

文章浏览阅读1.8k次。参考:http://hi.baidu.com/ayongs/item/30f784122c8d51a5ffded509http://www.2cto.com/database/201108/101151.htmlhttp://www.laruence.com/2008/01/05/12.htmlmysql5.1参考手册一.mysql字符集MySQ_msyql cli 登录 --default-character-set=charset

图像处理和opencv:矩阵数据类型转换convertTo_图像标记矩阵转化-程序员宅基地

文章浏览阅读1.1k次。函数void convertTo( OutputArray m, int rtype, double alpha=1, double beta=0 ) const;参数m – 目标矩阵。如果m在运算前没有合适的尺寸或类型,将被重新分配。rtype – 目标矩阵的类型。因为目标矩阵的通道数与源矩阵一样,所以rtype也可以看做是目标矩阵的位深度。如果rtype为负值,..._图像标记矩阵转化

随便推点

IntelliJ IDEA中Tomcat服务器中无Update classes and resources的解决方法_idea 没有update classes and resources-程序员宅基地

文章浏览阅读3.9k次,点赞11次,收藏12次。1.问题描述第一次使用ssm框架发现on “Update” action中没有Update classes and resources选项了,这就是说如果更新静态资源都要重启服务器,在开发过程中十分麻烦,查了一晚上也没有找到bug2.解决办法原来是artifact的问题:Artifacts,它的作用是整合编译后的 java 文件,资源文件等,有不同的整合方式,比如war、jar、war exploded 等,对于 Module 而言,有了 Artifact 就可以部署到 web 容器中了。其中 w_idea 没有update classes and resources

iPhone白苹果-程序员宅基地

文章浏览阅读73次。iPhone遇到了白苹果问题如何解决?

OPPO面试题 笔试题 搜集_oppo嵌入式笔试-程序员宅基地

文章浏览阅读4.2k次。1、面试在校期间,学得最好的专业课程是什么,问课程相关知识C语言内存结构和struct内存对齐最能体现编程功底的项目,项目难点,io操作应该不少吧,io、多线程了解吗?2、笔试3、HR面试学习了哪些课外知识,怎么学习的,学到了什么你觉得你的核心竞争力是什么?为什么把他作为核心竞争力?除了这个,你觉得还有什么竞争力..._oppo嵌入式笔试

Hibernate缓存机制-程序员宅基地

文章浏览阅读712次。缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能. Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升. Hibernate缓存分类: Session缓存,一级缓

项目使用nacos报错 com.alibaba.nacos.api.exception.NacosException: Param ‘beat‘ is required._com.alibaba.nacos.client.naming.net.namingproxy.ca-程序员宅基地

文章浏览阅读1w次,点赞2次,收藏2次。完整报错:com.alibaba.nacos.api.exception.NacosException: Param 'beat' is required. at com.alibaba.nacos.client.naming.net.NamingProxy.callServer(NamingProxy.java:611) [nacos-client-1.3.3.jar:na] at com.alibaba.nacos.client.naming.net.NamingProxy.req..._com.alibaba.nacos.client.naming.net.namingproxy.callserver(namingproxy.java:

node.js后端框架介绍_node.js后端框架及作用-程序员宅基地

文章浏览阅读4.6k次,点赞2次,收藏10次。作者:陈健Node.js有许多框架可以选择,包括老牌的express,koa,新晋的egg,nest等等首先可以通过一个表格来看一下各个框架的受欢迎程度:1.ExpressExpress是一款基于node.js以及ChromeV8引擎,快速、极简的JS服务端开发框架,它提供了用来开发强壮的web/移动应用,以及API的所有功能。并且开发人员还能够方便地为它开发插件和扩展,从而增加Expr..._node.js后端框架及作用