用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 相关文章推荐
PHP4实际应用经验篇(2)
Oct 09 PHP
smarty+adodb+部分自定义类的php开发模式
Dec 31 PHP
php unset全局变量运用问题的深入解析
Jun 17 PHP
ThinkPHP3.1新特性之动态设置自动完成及自动验证示例代码
Jun 23 PHP
WordPress网站性能优化指南
Nov 18 PHP
PHP中用mysqli面向对象打开连接关闭mysql数据库的方法
Nov 05 PHP
zend框架实现支持sql server的操作方法
Dec 08 PHP
php 从指定数字中获取随机组合的简单方法(推荐)
Apr 05 PHP
php编程实现简单的网页版计算器功能示例
Apr 26 PHP
php表单文件iframe异步上传实例讲解
Jul 26 PHP
php微信公众号开发之秒杀
Oct 20 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 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
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
javascript 鼠标滚轮事件
2009/04/09 Javascript
基于jquery的让textarea自适应高度的插件
2010/08/03 Javascript
JavaScript 放大镜 移动镜片效果代码
2011/05/09 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
JavaScript的事件绑定(方便不支持js的时候)
2013/10/01 Javascript
javascript获取文档坐标和视口坐标
2015/05/26 Javascript
jQuery插件制作之参数用法实例分析
2015/06/01 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
JS读写CSS样式的方法汇总
2016/08/16 Javascript
react-navigation之动态修改title的内容
2018/09/26 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
详解JS实现简单的时分秒倒计时代码
2019/04/25 Javascript
小程序云函数调用API接口的方法
2019/05/17 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
[03:58]兄弟们,回来开黑了!DOTA2昔日战友招募宣传视频
2016/07/17 DOTA
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
[01:03:09]完美世界DOTA2联赛PWL S2 Forest vs SZ 第二场 11.25
2020/11/26 DOTA
python魔法方法-属性访问控制详解
2016/07/25 Python
python常见排序算法基础教程
2017/04/13 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
python腾讯语音合成实现过程解析
2019/08/01 Python
python3中替换python2中cmp函数的实现
2019/08/20 Python
python_array[0][0]与array[0,0]的区别详解
2020/02/18 Python
python检查目录文件权限并修改目录文件权限的操作
2020/03/11 Python
解决django FileFIELD的编码问题
2020/03/30 Python
Hotels.com中国区:好订网
2016/08/18 全球购物
Nike澳大利亚官网:Nike.com (AU)
2019/06/03 全球购物
优秀士兵个人事迹材料
2014/01/19 职场文书
教师群众路线心得体会
2014/11/04 职场文书
2014年维稳工作总结
2014/11/18 职场文书
教师年度考核个人总结
2015/02/12 职场文书
贴吧吧主申请感言
2015/08/03 职场文书