解析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操作JSON格式数据的实现代码
Dec 24 PHP
Apache中php.ini的设置方法
Feb 28 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
php 启动时报错的简单解决方法
Jan 27 PHP
PHP和javascript常用正则表达式及用法实例
Jul 01 PHP
zend framework框架中url大小写问题解决方法
Aug 19 PHP
PHP图片处理之使用imagecopyresampled函数实现图片缩放例子
Nov 19 PHP
PHP网站建设的流程与步骤分享
Sep 25 PHP
给WordPress的编辑后台添加提示框的代码实例分享
Dec 25 PHP
浅谈thinkphp5 instance 的简单实现
Jul 30 PHP
laravel框架语言包拓展实现方法分析
Nov 22 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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 fckeditor 调用的函数
2009/06/21 PHP
支持png透明图片的php生成缩略图类分享
2015/02/08 PHP
大家在抢红包,程序员在研究红包算法
2015/08/31 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
2019/05/01 PHP
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
JavaScript的原型继承详解
2015/02/15 Javascript
Bootstrap Chart组件使用教程
2016/04/28 Javascript
JavaScript 弹出子窗体并返回结果到父窗体的实现代码
2016/05/28 Javascript
javascript基础知识
2016/06/07 Javascript
JavaScript作用域示例详解
2016/07/07 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
vue.js异步上传文件前后端实现代码
2017/08/22 Javascript
解析vue路由异步组件和懒加载案例
2018/06/08 Javascript
详解vue或uni-app的跨域问题解决方案
2020/02/21 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
[07:06]2018DOTA2国际邀请赛寻真——卫冕冠军Team Liquid
2018/08/10 DOTA
Python脚本简单实现打开默认浏览器登录人人和打开QQ的方法
2016/04/12 Python
Python的装饰器用法学习笔记
2016/06/24 Python
python模块之sys模块和序列化模块(实例讲解)
2017/09/13 Python
浅谈python中的正则表达式(re模块)
2017/10/17 Python
人机交互程序 python实现人机对话
2017/11/14 Python
python实现监控某个服务 服务崩溃即发送邮件报告
2018/06/21 Python
python 分离文件名和路径以及分离文件名和后缀的方法
2018/10/21 Python
python 动态生成变量名以及动态获取变量的变量名方法
2019/01/20 Python
对Python 检查文件名是否规范的实例详解
2019/06/10 Python
Python字符串对象实现原理详解
2019/07/01 Python
pygame实现俄罗斯方块游戏(AI篇2)
2019/10/29 Python
python GUI库图形界面开发之PyQt5简单绘图板实例与代码分析
2020/03/08 Python
浅谈Pycharm的项目文件名是红色的原因及解决方式
2020/06/01 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
python与pycharm有何区别
2020/07/01 Python
Ray-Ban雷朋美国官网:全球领先的太阳眼镜品牌
2016/07/20 全球购物
美国机场停车位预订:About Airport Parking
2018/03/26 全球购物
大学学生会竞选稿
2015/11/19 职场文书