PHP下载文件函数与用法示例


Posted in PHP onSeptember 27, 2019

本文实例讲述了PHP下载文件函数与用法。分享给大家供大家参考,具体如下:

文件链接

<div>
  <a href="./file.zip" rel="external nofollow" >链接</a>
</div>

PHP拼接下载

<div>
  <a href = "http://aa.aa.aa/funtwo.php?filename='file'">链接</a>
</div>
<?php
//获取文件名 取出单引号 完善文件名
$filename = $_GET['filename'];
$filename=trim($filename,"''");
$filename = $filename.'.zip'; //获取文件名称
// header:主机名文件名 下载
$host_addr = $_SERVER['HTTP_HOST'].'/'; //当前域名
header('location:http://'.$host_addr.$filename);

Header附件下载

<?php
//下载文件名
$file_name = 'file.zip';
//以只读和二进制模式打开文件
$file = fopen ( $file_name, "rb" );
//这是一个文件流格式的文件
Header ( "Content-type: application/octet-stream" );
//请求范围的度量单位--字节
Header ( "Accept-Ranges: bytes" );
//Content-Length是指定包含于请求或响应中数据的字节长度
Header ( "Accept-Length: " . filesize (  $file_name ) );
//用来告诉浏览器,文件是可以当做附件被下载,下载后的文件名称为$file_name该变量的值。
Header ( "Content-Disposition: attachment; filename=" . $file_name );
//读取文件内容并直接输出到浏览器
echo fread ( $file, filesize ( $file_name ) );
fclose ( $file );

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

PHP 相关文章推荐
无数据库的详细域名查询程序PHP版(5)
Oct 09 PHP
PHP HTML代码串 截取实现代码
Jun 29 PHP
PHP 的ArrayAccess接口 像数组一样来访问你的PHP对象
Oct 12 PHP
深入解析PHP 5.3.x 的strtotime() 时区设定 警告信息修复
Aug 05 PHP
PHP图片处理之使用imagecopyresampled函数裁剪图片例子
Nov 19 PHP
php中$_POST与php://input的区别实例分析
Jan 07 PHP
PHP中Session和Cookie是如何操作的
Oct 10 PHP
php实现smarty模板无限极分类的方法
Dec 07 PHP
php遍历解析xml字符串的方法
May 05 PHP
Laravel网站打开速度优化的方法汇总
Jul 16 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
Mar 08 PHP
laravel实现上传图片的两种方式小结
Oct 12 PHP
PHP的JSON封装、转变及输出操作示例
Sep 27 #PHP
php面向对象重点知识分享
Sep 27 #PHP
php中关于换行的实例写法
Sep 26 #PHP
php伪静态验证码不显示的解决方案
Sep 26 #PHP
php源码的安装方法和实例
Sep 26 #PHP
php源码的使用方法讲解
Sep 26 #PHP
php常用的工具开发整理
Sep 26 #PHP
You might like
Syphon 使用方法
2021/03/03 冲泡冲煮
PHP 程序授权验证开发思路
2009/07/09 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
js自带函数备忘 数组
2006/12/29 Javascript
Javascript 面向对象(二)封装代码
2012/05/23 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
JavaScript字符串对象slice方法入门实例(用于字符串截取)
2014/10/16 Javascript
Jquery 1.9.1源码分析系列(十二)之筛选操作
2015/12/02 Javascript
javascript每日必学之多态
2016/02/23 Javascript
基于javascript实现简单的抽奖系统
2020/04/15 Javascript
jQuery简单实现上下,左右滑动的方法
2016/06/01 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
有关suggest快速删除后仍然出现下拉列表的bug问题
2016/12/02 Javascript
vue内置指令详解
2018/04/03 Javascript
element-ui循环显示radio控件信息的方法
2018/08/24 Javascript
node错误处理与日志记录的实现
2018/12/24 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
python 实现A*算法的示例代码
2018/08/13 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Python-jenkins模块获取jobs的执行状态操作
2020/05/12 Python
英国在线购买轮胎、预订汽车、汽车维修和装配网站:Protyre
2020/04/12 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
优秀求职自荐信怎样写
2013/12/18 职场文书
后勤工作职责
2013/12/22 职场文书
信息科学与技术专业求职信范文
2014/02/20 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
人事任命通知
2015/04/20 职场文书
创业计划之特色精品店
2019/08/12 职场文书
Python机器学习之基于Pytorch实现猫狗分类
2021/06/08 Python
Javascript使用integrity属性进行安全验证
2021/11/07 Javascript
Python装饰器的练习题
2021/11/23 Python
《宝可梦》动画制作25周年到来 官方发布特别纪念视频
2022/04/01 日漫