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数据库密码的找回的步骤
Jan 12 PHP
浅谈php中mysql与mysqli的区别分析
Jun 10 PHP
php使用curl和正则表达式抓取网页数据示例
Apr 13 PHP
PHP数字字符串左侧补0、字符串填充和自动补齐的几种方法
May 10 PHP
php实现二进制和文本相互转换的方法
Apr 18 PHP
php命令行(cli)模式下报require 加载路径错误的解决方法
Nov 23 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
PHP中利用sleep函数实现定时执行功能实现代码
Aug 25 PHP
如何使用php等比例缩放图片
Oct 12 PHP
PHP 二级子目录(后台目录)设置二级域名
Mar 02 PHP
PHP获取二叉树镜像的方法
Jan 17 PHP
Ajax+PHP实现的删除数据功能示例
Feb 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
PHP中的加密功能
2006/10/09 PHP
PHP动态创建Web站点的方法
2011/08/14 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
Zend Framework教程之Zend_Db_Table用法详解
2016/03/21 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
浅谈laravel数据库查询返回的数据形式
2019/10/21 PHP
TP5框架实现签到功能的方法分析
2020/04/05 PHP
JavaScript DOM学习第四章 getElementByTagNames
2010/02/19 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
程序员必知35个jQuery 代码片段
2015/11/05 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
Vue-router路由判断页面未登录跳转到登录页面的实例
2017/10/26 Javascript
详解使用webpack打包编写一个vue-toast插件
2017/11/08 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
Python 用户登录验证的小例子
2013/03/06 Python
python里将list中元素依次向前移动一位
2014/09/12 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
python实现合并多个list及合并多个django QuerySet的方法示例
2019/06/11 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
详解python和matlab的优势与区别
2019/06/28 Python
python logging模块的使用详解
2020/10/23 Python
python爬虫利用selenium实现自动翻页爬取某鱼数据的思路详解
2020/12/22 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
Puma印度官网:德国运动品牌
2019/10/06 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
2014机关干部学习“焦裕禄精神”思想汇报
2014/09/19 职场文书
2016大学军训通讯稿
2015/11/25 职场文书
Nginx 502 Bad Gateway错误原因及解决方案
2021/03/31 Servers
mysql对于模糊查询like的一些汇总
2021/05/09 MySQL
SQL中的三种去重方法小结
2021/11/01 SQL Server