php实现简单文件下载的方法


Posted in PHP onJanuary 30, 2015

本文实例讲述了php实现简单文件下载的方法。分享给大家供大家参考。具体如下:

这里介绍的php文件下载代码,只是简单实现了一张图片的下载功能,还不完善,最好是封装到一个类里,或是采用函数调用。感兴趣的朋友可以在此基础上加以完善!

php文件下载代码如下:

<?php
$file_name = "2.jpg";//需要下载的图片
define("SPATH","/php/image/");//存放图片的相对路径
$file_sub_path = $_SERVER['DOCUMENT_ROOT'];//网站根目录的绝对地址
$file_path = $file_sub_path.SPATH.$file_name;//图片绝对地址,即前面三个连接
//判断文件是否存在
if(!file_exists($file_path)){
 echo "该文件不存在";
 return;
}
$fp = fopen($file_path,"r");//打开文件
$file_size = filesize($file_path);//获取文件大小
/*
*下载文件需要用到的header
*/
header("Content-type:application/octet-stream");
header("Accept-Ranges:bytes");
header("Accept-Length:".$file_size);
header("Content-Disposition:attachment;filename=".$file_name);

$buffer=1024;
$file_count=0;
//向浏览器返回数据
while(!feof($fp) && $file_count<$file_size){
 $file_con = fread($fp,$buffer);
 $file_count += $buffer;
 echo $file_con;//这里如果不echo,只会下载到0字节的文件
}
fclose($fp);
?>

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
提升PHP执行速度全攻略(下)
Oct 09 PHP
基于qmail的完整WEBMAIL解决方案安装详解
Oct 09 PHP
一个php Mysql类 可以参考学习熟悉下
Jun 21 PHP
PHP中的函数-- foreach()的用法详解
Jun 24 PHP
Thinkphp单字母函数使用指南
May 08 PHP
基于PHP生成简单的验证码
Jun 01 PHP
php 查找数组元素提高效率的方法详解
May 05 PHP
Bootstrap+PHP实现多图上传功能实例详解
Apr 08 PHP
PHP手机短信验证码实现流程详解
May 17 PHP
详细对比php中类继承和接口继承
Oct 11 PHP
php获取是星期几的的一些常用姿势
Dec 15 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
Apr 13 PHP
php+mysqli预处理技术实现添加、修改及删除多条数据的方法
Jan 30 #PHP
php+xml结合Ajax实现点赞功能完整实例
Jan 30 #PHP
PHP速成大法
Jan 30 #PHP
php+mysql结合Ajax实现点赞功能完整实例
Jan 30 #PHP
PHP制作百度词典查词采集器
Jan 29 #PHP
php+mysqli事务控制实现银行转账实例
Jan 29 #PHP
php+mysqli批量查询多张表数据的方法
Jan 29 #PHP
You might like
zend framework多模块多布局配置
2011/02/26 PHP
Symfony2框架创建项目与模板设置实例详解
2016/03/17 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
如何在centos8自定义目录安装php7.3
2019/11/28 PHP
Jquery 表单取值赋值的一些基本操作
2009/10/11 Javascript
基于Jquery的动态创建DOM元素的代码
2010/12/28 Javascript
node.js中的path.sep方法使用说明
2014/12/08 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
JavaScript中的splice()方法使用详解
2015/06/09 Javascript
CSS javascript 结合实现悬浮固定菜单效果
2015/08/23 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
jQuery简单实现仿京东分类导航层效果
2016/06/07 Javascript
Bootstrap表单Form全面解析
2016/06/13 Javascript
Node.js中process模块常用的属性和方法
2016/12/13 Javascript
微信小程序-横向滑动scroll-view隐藏滚动条
2017/04/20 Javascript
javascript checkbox/radio onchange不能兼容ie8处理办法
2017/06/13 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
简单了解微信小程序的目录结构
2019/07/01 Javascript
Vue中使用better-scroll实现轮播图组件
2020/03/07 Javascript
JavaScript this关键字的深入详解
2021/01/14 Javascript
[43:41]VP vs RNG 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
pycharm 使用心得(九)解决No Python interpreter selected的问题
2014/06/06 Python
Python函数的周期性执行实现方法
2016/08/13 Python
python3爬取淘宝信息代码分析
2018/02/10 Python
python实现树形打印目录结构
2018/03/29 Python
vue.js实现输入框输入值内容实时响应变化示例
2018/07/07 Python
Python爬虫爬取杭州24时温度并展示操作示例
2020/03/27 Python
Python基于Hypothesis测试库生成测试数据
2020/04/29 Python
常用的HTML5列表标签
2017/06/20 HTML / CSS
泰国综合购物网站:Lazada泰国
2018/04/09 全球购物
英国领先的瓷砖专家:Walls and Floors
2018/04/27 全球购物
LN-CC英国:伦敦时尚生活的缩影
2019/09/01 全球购物
学习十八届三中全会精神实施方案
2014/02/17 职场文书
国家税务局领导班子对照检查材料思想汇报
2014/10/04 职场文书
学生党员检讨书范文
2014/12/27 职场文书
军事理论课感想
2015/08/11 职场文书