用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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
php file_get_contents抓取Gzip网页乱码的三种解决方法
Nov 12 PHP
PHP5.5.15+Apache2.4.10+MySQL5.6.20配置方法分享
May 06 PHP
php封装的图片(缩略图)处理类完整实例
Oct 19 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
Nov 07 PHP
PHP实现的折半查找算法示例
Dec 19 PHP
php实现姓名根据首字母排序的类与方法(实例代码)
May 16 PHP
php实现网页上一页下一页翻页过程详解
Jun 28 PHP
PHP中通过getopt解析GNU C风格命令行选项
Nov 18 PHP
php并发加锁问题分析与设计代码实例讲解
Feb 26 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 PHP
php 文件上传至OSS及删除远程阿里云OSS文件
Jul 04 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 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
memcache命令启动参数中文解释
2014/01/13 PHP
仿dedecms下拉分页样式修改的thinkphp分页类实例
2014/10/30 PHP
php函数传值的引用传递注意事项分析
2016/06/25 PHP
PHP rmdir()函数的用法总结
2019/07/02 PHP
Prototype Object对象 学习
2009/07/12 Javascript
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
2009/11/28 Javascript
js钢琴按钮波浪式图片排列效果代码分享
2015/08/26 Javascript
jQuery实现带有上下控制按钮的简单多行滚屏效果代码
2015/09/04 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
JSONP和批量操作功能的实现方法
2016/08/21 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
JavaScript对象引用与赋值实例详解
2017/03/15 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
gulp解决跨域的配置文件问题
2017/06/08 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
vue实现微信浏览器左上角返回按钮拦截功能
2020/01/18 Javascript
python strip()函数 介绍
2013/05/24 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
解决python打不开文件(文件不存在)的问题
2019/02/18 Python
Python面向对象程序设计中类的定义、实例化、封装及私有变量/方法详解
2019/02/28 Python
python实现小球弹跳效果
2019/05/10 Python
Python 使用 environs 库定义环境变量的方法
2020/02/25 Python
Django Admin后台添加数据库视图过程解析
2020/04/01 Python
python re的findall和finditer的区别详解
2020/11/15 Python
使用Python画了一棵圣诞树的实例代码
2020/11/27 Python
俄罗斯优惠券网站:BIGLION
2017/05/21 全球购物
英国最大的网上药品商店:Chemist Direct
2017/12/16 全球购物
成人继续教育实施方案
2014/03/01 职场文书
我爱幼儿园演讲稿
2014/09/11 职场文书
巾帼文明岗汇报材料
2014/12/24 职场文书
2016年春季运动会广播稿
2015/08/19 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
Mysql忘记密码解决方法
2022/02/12 MySQL
SpringBoot详解自定义Stater的应用
2022/07/15 Java/Android