用PHP实现浏览器点击下载TXT文档的方法详解


Posted in PHP onJune 02, 2013

由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。当然这个问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。还有一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。
PHP代码如下:
===========================================================
$filename = '/path/'.$_GET['file'].'.txt'; //文件路径
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=".basename($filename));
readfile($filename);
===========================================================
简要说明:
第一个header函数设置Content-Type的值为application/force-download;
第二个header函数设置要下载的文件。注意这里的filename是不包含路径的文件名,filename的值将来就是点击下载后弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的;
最后通过readfile函数,将文件流输出到浏览器,这样就实现了txt文件的下载。

PHP 相关文章推荐
利用文件属性结合Session实现在线人数统计
Oct 09 PHP
php smarty截取中文字符乱码问题?gb2312/utf-8
Nov 07 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
一些php项目中比较通用的php自建函数的详解
Jun 06 PHP
解析PHP正则提取或替换img标记属性
Jun 26 PHP
支持生僻字且自动识别utf-8编码的php汉字转拼音类
Jun 27 PHP
PHP读取txt文本文件并分页显示的方法
Mar 11 PHP
深入解析PHP中foreach语句控制数组循环的用法
Nov 30 PHP
php设计模式之委托模式
Feb 13 PHP
php自定义函数实现二维数组排序功能
Jul 20 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
Mar 27 PHP
PHP sdk实现在线打包代码示例
Dec 09 PHP
优化PHP代码技巧的小结
Jun 02 #PHP
PHP无限分类(树形类)的深入分析
Jun 02 #PHP
基于php无限分类的深入理解
Jun 02 #PHP
php curl的深入解析
Jun 02 #PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 #PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 #PHP
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
Jun 01 #PHP
You might like
Yii2 rbac权限控制之rule教程详解
2016/06/23 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
利用ASP发送和接收XML数据的处理方法与代码
2007/11/13 Javascript
JavaScript高级程序设计 读书笔记之十 本地对象Date日期
2012/02/27 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
javascript计算星座属相(十二生肖属相)示例代码
2014/01/09 Javascript
jquery移动点击的项目到列表最顶端的方法
2015/06/24 Javascript
nodejs初步体验篇
2015/11/23 NodeJs
jquery ztree实现树的搜索功能
2016/02/25 Javascript
jQuery根据name属性进行查找的用法分析
2016/06/23 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
jQuery生成假加载动画效果
2016/12/01 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
浅谈JsonObject中的key-value数据解析排序问题
2017/12/06 Javascript
vue、react等单页面项目部署到服务器的方法及vue和react的区别
2018/09/29 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
JS 实现获取验证码 倒计时功能
2018/10/29 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
[36:29]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs TNC
2018/04/02 DOTA
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
[54:15]DOTA2-DPC中国联赛 正赛 DLG vs Dragon BO3 第二场2月1日
2021/03/11 DOTA
python使用PyGame模块播放声音的方法
2015/05/20 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python松散正则表达式用法分析
2016/04/29 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
2018/02/10 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
Python模块的制作方法实例分析
2019/12/21 Python
python连接mysql有哪些方法
2020/06/24 Python
STAUD官方网站:洛杉矶独有的闲适风格
2019/04/11 全球购物
小学生寒假家长评语
2014/04/16 职场文书
食品安全工作方案
2014/05/07 职场文书
中药学专业毕业生推荐信
2014/07/10 职场文书
初中中等生评语
2014/12/29 职场文书
药品销售内勤岗位职责
2015/04/13 职场文书
亮剑观后感
2015/06/05 职场文书
2019升学宴主持词范本5篇
2019/10/09 职场文书