用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 相关文章推荐
用PHP与XML联手进行网站编程代码实例
Jul 10 PHP
Zend的AutoLoad机制介绍
Sep 27 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
php可扩展的验证类实例(可对邮件、手机号、URL等验证)
Jul 09 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
PHP正则表达式匹配替换与分割功能实例浅析
Feb 04 PHP
Windows平台实现PHP连接SQL Server2008的方法
Jul 26 PHP
ThinkPHP 在阿里云上的nginx.config配置实例详解
Oct 11 PHP
php nginx 实时输出的简单实现方法
Jan 21 PHP
php 将json格式数据转换成数组的方法
Aug 21 PHP
PHP获取学生成绩的方法
Nov 17 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
在PHP的图形函数中显示汉字
2006/10/09 PHP
完美解决:Apache启动问题―(OS 10022)提供了一个无效的参数
2013/06/08 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
php操作access数据库的方法详解
2017/02/22 PHP
JQUERY设置IFRAME的SRC值的代码
2010/11/30 Javascript
Ajax 数据请求的简单分析
2011/04/05 Javascript
一些常用弹出窗口/拖放/异步文件上传等实用代码
2013/01/06 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
AngularJS中$watch和$timeout的使用示例
2016/09/20 Javascript
JavaScript自定义函数实现查找两个字符串最长公共子串的方法
2016/11/24 Javascript
bootstrap modal+gridview实现弹出框效果
2017/08/15 Javascript
Angular异步变同步处理方法
2018/08/13 Javascript
JavaScript实现的前端AES加密解密功能【基于CryptoJS】
2018/08/28 Javascript
JS去除字符串最后的逗号实例分析【四种方法】
2019/06/20 Javascript
vue实现输入框的模糊查询的示例代码(节流函数的应用场景)
2019/09/01 Javascript
JS数组Reduce方法功能与用法实例详解
2020/04/29 Javascript
jQuery实现B2B网站后台管理系统侧导航
2020/07/08 jQuery
vue项目中openlayers绘制行政区划
2020/12/24 Vue.js
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
[37:22]DOTA2上海特级锦标赛D组资格赛#2 Liquid VS VP第一局
2016/02/28 DOTA
Python复制目录结构脚本代码分享
2015/03/06 Python
使用Python的Scrapy框架编写web爬虫的简单示例
2015/04/17 Python
Python实现将16进制字符串转化为ascii字符的方法分析
2017/07/21 Python
用Pygal绘制直方图代码示例
2017/12/07 Python
Python正则表达式指南 推荐
2018/10/09 Python
python图像处理模块Pillow的学习详解
2019/10/09 Python
python 爬虫百度地图的信息界面的实现方法
2019/10/27 Python
Django bulk_create()、update()与数据库事务的效率对比分析
2020/05/15 Python
Python实现打包成库供别的模块调用
2020/07/13 Python
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
牵手50香港:专为黄金岁月的单身人士而设的交友网站
2020/08/14 全球购物
Java servlet面试题
2012/03/04 面试题
《钓鱼的启示》教学反思
2016/02/18 职场文书
同学联谊会邀请函
2019/06/24 职场文书
2019年XX公司的晨会制度及流程!
2019/07/23 职场文书