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 相关文章推荐
使用 MySQL 开始 PHP 会话
Dec 21 PHP
新安装的MySQL数据库需要注意的安全知识
Jul 30 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
Mar 02 PHP
php下尝试使用GraphicsMagick的缩略图功能
Jan 01 PHP
使用php实现截取指定长度
Aug 06 PHP
php防注入及开发安全详细解析
Aug 09 PHP
PHP中date与gmdate的区别及默认时区设置
May 12 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
PHP中读取照片exif信息的方法
Aug 20 PHP
关于PHP转换超过2038年日期出错的问题解决
Jun 28 PHP
PHP多进程之pcntl_fork的实例详解
Oct 15 PHP
TP5框架使用QueryList采集框架爬小说操作示例
Mar 26 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
PHP高级OOP技术演示
2009/08/27 PHP
PHP编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
解析PHP函数array_flip()在重复数组元素删除中的作用
2013/06/27 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
js变量以及其作用域详解
2020/07/18 Javascript
js数字转换为float,取N位小数
2014/02/08 Javascript
深入探讨javascript中的数据类型
2015/03/04 Javascript
jquery衣服颜色选取插件效果代码分享
2015/08/28 Javascript
JavaScript实现带播放列表的音乐播放器实例分享
2016/03/07 Javascript
浅谈addEventListener和attachEvent的区别
2016/07/14 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
nodejs的压缩文件模块archiver用法示例
2017/01/18 NodeJs
vue中的scope使用详解
2017/10/29 Javascript
JS实现的视频弹幕效果示例
2018/08/17 Javascript
浅谈react-router@4.0 使用方法和源码分析
2019/06/04 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
Vue实现圆环进度条的示例
2021/02/06 Vue.js
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
Python群发邮件实例代码
2014/01/03 Python
讲解Python中fileno()方法的使用
2015/05/24 Python
Python中几个比较常见的名词解释
2015/07/04 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
使用Python获取并处理IP的类型及格式方法
2018/11/01 Python
在cmd中查看python的安装路径方法
2019/07/03 Python
Django分页功能的实现代码详解
2019/07/29 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
Pandas替换及部分替换(replace)实现流程详解
2020/10/12 Python
澳大利亚运动鞋零售商:The Athlete’s Foot
2018/11/04 全球购物
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
乌克兰移动电子产品和相关配件的在线商店:iTMag
2020/03/16 全球购物
美国最大的在线生存商店:Survival Frog
2020/12/13 全球购物
请假条范文大全
2014/04/10 职场文书
总账会计岗位职责
2015/04/02 职场文书
毕业班班主任工作总结2015
2015/07/23 职场文书
教你快速开启Apache SkyWalking的自监控
2021/04/25 Servers