解析PHP实现下载文件的两种方法


Posted in PHP onJuly 05, 2013

方法一:

 header('Content-Description: File Transfer');
 header('Content-Type: application/octet-stream');
 header('Content-Disposition: attachment; filename='.basename($filepath));
 header('Content-Transfer-Encoding: binary');
 header('Expires: 0′);
 header('Cache-Control: must-revalidate, post-check=0, pre-check=0′);
 header('Pragma: public');
 header('Content-Length: ' . filesize($filepath));
 readfile($file_path);

方法二:
 $fileinfo = pathinfo($filename);
 header('Content-type: application/x-'.$fileinfo['extension']);
 header('Content-Disposition: attachment; filename='.$fileinfo['basename']);
 header('Content-Length: '.filesize($filename));
 readfile($thefile);
 exit();
PHP 相关文章推荐
php 文件上传类代码
Aug 06 PHP
php中http_build_query 的一个问题
Mar 25 PHP
关于mysql字符集设置了character_set_client=binary 在gbk情况下会出现表描述是乱码的情况
Jan 06 PHP
php结合js实现点击超链接执行删除确认操作
Oct 31 PHP
php实现遍历目录并删除指定文件中指定内容
Jan 21 PHP
php绘图之在图片上写中文和英文的方法
Jan 24 PHP
thinkphp框架实现数据添加和显示功能
Jun 29 PHP
PHP实现的自定义数组排序函数与排序类示例
Nov 18 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP网站自动化配置的实现方法(必看)
May 27 PHP
php类自动装载、链式操作、魔术方法实现代码
Jul 23 PHP
YII2框架中ActiveDataProvider与GridView的配合使用操作示例
Mar 18 PHP
国外十大最流行的PHP框架排名
Jul 04 #PHP
php字符串截取的简单方法
Jul 04 #PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
Jul 03 #PHP
php调用MySQL存储过程的方法集合(推荐)
Jul 03 #PHP
解决php使用异步调用获取数据时出现(错误c00ce56e导致此项操作无法完成)
Jul 03 #PHP
解决PHP mysql_query执行超时(Fatal error: Maximum execution time …)
Jul 03 #PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
Jul 03 #PHP
You might like
php+mysql数据库查询实例
2015/01/21 PHP
PHP中实现接收多个name相同但Value不相同表单数据实例
2015/02/03 PHP
让iframe框架网页在任何浏览器下自动伸缩
2006/08/18 Javascript
怎么让脚本或里面的函数在所有图片都载入完毕的时候执行
2006/10/17 Javascript
javascript forEach通用循环遍历方法
2010/10/11 Javascript
JavaScript Scoping and Hoisting 翻译
2012/07/03 Javascript
js离开或刷新页面检测(且兼容FF,IE,Chrome)
2014/03/05 Javascript
JavaScript函数模式详解
2014/11/07 Javascript
jQuery+CSS实现滑动的标签分栏切换效果
2015/12/17 Javascript
JS实现点击登录弹出窗口同时背景色渐变动画效果
2016/03/25 Javascript
js中使用使用原型(prototype)定义方法的好处详解
2016/07/04 Javascript
判断jQuery是否加载完成,没完成继续判断的解决方法
2017/12/06 jQuery
Node.Js中实现端口重用原理详解
2018/05/03 Javascript
linux 下以二进制的方式安装 nodejs
2020/02/12 NodeJs
vue键盘事件点击事件加native操作
2020/07/27 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
[53:36]Liquid vs VP Supermajor决赛 BO 第三场 6.10
2018/07/05 DOTA
python3库numpy数组属性的查看方法
2018/04/17 Python
pandas多级分组实现排序的方法
2018/04/20 Python
Mac下Anaconda的安装和使用教程
2018/11/29 Python
python数据持久存储 pickle模块的基本使用方法解析
2019/08/30 Python
Python异常模块traceback用法实例分析
2019/10/22 Python
Pytorch对Himmelblau函数的优化详解
2020/02/29 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
在PyTorch中使用标签平滑正则化的问题
2020/04/03 Python
python基于socket函数实现端口扫描
2020/05/28 Python
中学生操行评语大全
2014/04/24 职场文书
企业党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
办公室主任岗位职责
2015/01/31 职场文书
社区低保工作总结2015
2015/07/23 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
2019数学教师下学期工作总结
2019/06/27 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP
苹果可能正在打击不进行更新的 App
2022/04/24 数码科技
MySQL深分页问题解决思路
2022/12/24 MySQL