用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(windows版本)中的COM函数
Oct 09 PHP
第十四节--命名空间
Nov 16 PHP
一段php加密解密的代码
Jul 16 PHP
zend framework多模块多布局配置
Feb 26 PHP
全新的PDO数据库操作类php版(仅适用Mysql)
Jul 22 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
php metaphone()函数及php localeconv() 函数实例解析
May 15 PHP
完美解决phpdoc导出文档中@package的warning及Error的错误
May 17 PHP
PHP树-不需要递归的实现方法
Jun 21 PHP
php实现的http请求封装示例
Nov 08 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 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
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
[FAQ]PHP中的一些常识:类篇
2006/10/09 PHP
PHP之数组学习
2011/05/29 PHP
php的sprintf函数的用法 控制浮点数格式
2014/02/14 PHP
微信中一些常用的js方法汇总
2015/03/12 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
JS+CSS实现自动切换的网页滑动门菜单效果代码
2015/09/14 Javascript
jQuery.trim() 函数及trim()用法详解
2015/10/26 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
js 性能优化之快速响应的用户界面
2017/02/15 Javascript
Bootstrap表格制作代码
2017/03/17 Javascript
利用d3.js力导布局绘制资源拓扑图实例教程
2019/01/08 Javascript
jQuery实现动态添加和删除input框代码实例
2019/03/29 jQuery
javascript中contains是否包含功能实现代码(扩展字符、数组、dom)
2020/04/07 Javascript
vue切换菜单取消未完成接口请求的案例
2020/11/13 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
[50:34]VGJ.T vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python创建系统目录的方法
2015/03/11 Python
Python中的pack和unpack的使用
2018/03/12 Python
Flask之flask-session的具体使用
2018/07/26 Python
一文了解Python并发编程的工程实现方法
2019/05/31 Python
django框架使用orm实现批量更新数据的方法
2019/06/21 Python
如何使用Python破解ZIP或RAR压缩文件密码
2020/01/09 Python
关于windows下Tensorflow和pytorch安装教程
2020/02/04 Python
Python学习笔记之装饰器
2020/08/06 Python
python通过cython加密代码
2020/12/11 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
浅谈HTML5 FileReader分布读取文件以及其方法简介
2017/11/09 HTML / CSS
OnePlus加拿大官网:中国国际化手机品牌
2020/10/13 全球购物
如何整合JQuery和Prototype
2014/01/31 面试题
竞聘副主任科员演讲稿
2014/01/11 职场文书
招聘专员岗位职责
2014/03/07 职场文书
廉洁校园实施方案
2014/05/25 职场文书
垃圾分类的活动方案
2014/08/15 职场文书
2015年医德医风工作总结
2015/04/02 职场文书
早会开场白台词大全
2015/06/01 职场文书