位置: 编程技术 - 正文

PHP使用header方式实现文件下载功能(php header refresh)

编辑:rootadmin

推荐整理分享PHP使用header方式实现文件下载功能(php header refresh),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php header refresh,php post header,php header refresh,php header refresh,php header函数,php中header的用法,php中的header,php headers,内容如对您有帮助,希望把文章链接给更多的朋友!

先给大家介绍下PHP header() 函数

定义和用法

header() 函数向客户端发送原始的 HTTP 报头。

认识到一点很重要,即必须在任何实际的输出被发送之前调用 header() 函数(在 PHP 4 以及更高的版本中,您可以使用输出缓存来解决此问题):

语法

数 描述 string 必需。规定要发送的报头字符串。 replace

可选。指示该报头是否替换之前的报头,或添加第二个报头。

默认是 true(替换)。false(允许相同类型的多个报头)。

http_response_code 可选。把 HTTP 响应代码强制为指定的值。(PHP 4 以及更高版本可用)

php文件下载可以使用http的请求头加上php的IO可以实现,很久之前写过这么一个功能,后来代码没了,今天记录一下

1、先看一下一个正常的http请求

2、一些常见的header功能

PHP使用header方式实现文件下载功能(php header refresh)

3、看下下载所要用的的请求头

content-type:文件类型 Accept-Ranges:表示接收数据的类型或者范围,图片属于二进制的东西所以需要使用字节的方式传输 Accept-Length:表示接收的文件大小,php文件下载需要告诉浏览器下载的文件有多大 Content-Disposition:附件只需要把文件名给过去就可以,这个名称就是下载时显示的文件名称

4、php的文件操作出现的比较早,文件名是中文的时候需要注意转码

5、php的文件下载机制是首先nginx把文件信息读入服务器内存,然后使用请求头把文件二进制信息通过浏览器传给客户端

feof用来判断文件是否已经读到了末尾,fread用来把文件读入缓冲区,缓冲区的大小是,一边读取一边把数据输出到浏览器。为了下载的安全性每次读数据都进行字节的计数。文件读取完毕后关闭输入流

注意:

a、如果运行的过程中出现问题,可以清空(擦掉)输出缓冲区,使用下面的代码即可

ob_clean();

b、很多人喜欢用readfile,如果是大文件,可能会有问题

完整代码

PS:下面看一段实例代码php如何通过header文件头实现文件下载

具体代码如下所示:

总结

以上所述是小编给大家介绍的PHP使用header方式实现文件下载功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

thinkPHP5 ajax提交表单操作实例分析 本文实例讲述了thinkPHP5ajax提交表单操作。分享给大家供大家参考,具体如下:!DOCTYPEhtmlhtmlheadmetacharset="UTF-8"title/titlescriptsrc="//cdn.bootcss.com/jquery/3.1.1/jquer

ThinkPHP5联合(关联)查询、多条件查询与聚合查询实例详解 本文实例讲述了ThinkPHP5联合(关联)查询、多条件查询与聚合查询。分享给大家供大家参考,具体如下:一、联合(关联)查询1.项目表DROPTABLEIFEXISTS`darling_pro

ThinkPHP5查询数据及处理结果的方法小结 本文实例讲述了ThinkPHP5查询数据及处理结果的方法。分享给大家供大家参考,具体如下:在处理数据库查询结果时遇到了些问题,记录下用到过的几种

标签: php header refresh

本文链接地址:https://www.jiuchutong.com/biancheng/274987.html 转载请保留说明!

上一篇:PHP调用OpenOffice实现word转PDF的方法(PHP调用API)

下一篇:thinkPHP5 ajax提交表单操作实例分析(thinkphp表单提交)

  • Mybatis调用PostgreSQL存储过程实现数组入参传递(mybatis调用存储过程详解)

    Mybatis调用PostgreSQL存储过程实现数组入参传递(mybatis调用存储过程详解)

  • SQL注入全过程深入分析(sql注入的原理和步骤)

    直接通过Google浏览器就能去除。

    点击登录,返回的信息如下:

    Conversion failed when converting the nvarchar value 'master' to data type int.

    数据库名称“master”通过异常被显示出来!依次改变上面SQL语句中的序号,

    就能得到服务器上所有数据库的名称。

    接着,输入信息如下:

    得到返回信息如下:

    Conversion failed when converting the nvarchar value 'spt_fallback_db' to data type int.

    我们得到了master数据库中的第一张表名:“spt_fallback_db”,

    同上,依次改变序号,可得到该库全部表名。

    现在我们以“spt_fallback_db”表为例,尝试获取该表中所有的字段名。在输入框中输入以下代码:

    于是,得到错误提示如下:

    "Conversion failed when converting the nvarchar value 'xserver_name' to data type int." class="img-responsive" alt="SQL注入全过程深入分析(sql注入的原理和步骤)">

    SQL注入全过程深入分析(sql注入的原理和步骤)

  • win8系统下搜索不到无线信号(飞行模式已关闭)原因分析及解决(win8系统搜索不到wifi)

    win8系统下搜索不到无线信号(飞行模式已关闭)原因分析及解决(win8系统搜索不到wifi)

  • Win10如何使用蓝牙传输文件?Win10使用蓝牙传输文件的方法(window10蓝瓶)

    Win10如何使用蓝牙传输文件?Win10使用蓝牙传输文件的方法(window10蓝瓶)

  • 增值税发票税控开票软件怎么下载
  • 个人所得税如何计算
  • 企业所得税弥补亏损明细表怎么填写
  • 进项税发票认证后能退票吗
  • 实名制车票抵扣怎么操作
  • 个税手续费返还计入哪个科目
  • 税金及附加包括个人所得税吗
  • 挂失申请怎么写
  • 营改增后房地产开发企业需要交哪些税?
  • 正常的成本利润是多少
  • 投资收益会计处理
  • 在建工程预付款项记入什么会计科目
  • 乐器的税率
  • 增值税税控系统技术维护费计入什么科目
  • 旅行社税收
  • 经营租赁交什么税种
  • 开票金额与收入金额有差额可以吗
  • 财政拨款结转的借贷方向
  • 商务平台建设
  • 公司的对公账户
  • vue引入echarts柱状图
  • php的循环
  • 差旅费报销管理规定2022
  • vue引用svg矢量图
  • 在数组指定位置添加数据
  • 生成php文件
  • 销售黄金的消费税
  • 侧边导航栏点击后再展开
  • js轮播图视频教程
  • 怎么做应收应付账款分录
  • 员工奖励现金如何做账
  • mysql5.7.35安装配置教程
  • 11-ElementUI
  • 在建工程项目的范围包括
  • 税额四舍五入的差额0.03怎么调整
  • 两处取得工资薪金如何申报
  • 可供出售金融资产名词解释
  • 收员工伙食费会计分录
  • 发票抬头是个人的可以报销吗
  • 交易性金融资产属于流动资产
  • 项目独立性
  • 进项发票还未收到可以认证吗
  • 代收污水处理费免税
  • 长期挂账应付款的处理方法
  • 其他综合收益如何计算所得税
  • 保险赔偿款账务处理
  • 跨年的社保,账务怎么处理?
  • 公司是否可以投资股票
  • 货代代缴增值税关税如何做账
  • 应收及预付款项的坏账损失应当于实际发生时计入
  • 其他应收款的核算范围包括
  • 会议接待纸笔摆放
  • 管理会计与核算会计的区别
  • 广州残保金如何计算
  • 小微企业要交残疾证吗
  • sql语句查询去重
  • win8/10whql
  • xp win10 打印机
  • dell t110服务器
  • win7系统硬盘
  • win10系统打不开jpg图片
  • centos wget
  • Msssrv.exe - Msssrv是什么进程 有什么用
  • win7系统资源管理器无响应
  • 如何设置win10默认程序
  • linux 磁带机
  • win7专用字符编辑程序的使用方法
  • renderjs echarts
  • jquery制作图片提示效果
  • jquery动态设置css
  • python的了解
  • echarts.on
  • jquery设置文本字体样式
  • python ftp文件上传
  • jquery使用教程
  • 树的python
  • android 字体设置
  • python运行时间的几种方法
  • 重新税务登记程序有哪些
  • 怎么注册山东省电子税务局
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设