• 鄂州重拳治理“散乱污”企业 半年内关停数量比过去两年还多 2019-06-15
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-06-15
  • 学习领会党的十九大报告需要准确把握的几个重大问题 2019-06-09
  • 飞行员夜间海上实弹射击 导弹全部命中目标 2019-06-07
  • 武警重庆总队举行干部退役仪式 2019-06-06
  • 香港大学发现有效对抗流感病毒的新方法 2019-06-05
  • 一语惊坛(6月15日):人民日报和共和国共同成长。 2019-06-05
  • 人的本质,要能反映出人与动物的本质不同。过去有个网友说“劳动是人的本质”;真理先生现说是“财富占有”!???,能解释一下么? 2019-06-04
  • 点击天山网 掌握全新疆 2019-06-04
  • 端午小长假各大文化场馆火热迎客 文化游成市民游客假期“心头好” 2019-05-31
  • 肉毒梭菌感染相关新闻 2019-05-31
  • 姚明撰文回忆菜鸟赛季 温暖的回忆感谢弗朗西斯 2019-05-26
  • 遵义师范学院副校长颜永强:长征为军队建设提供三方面宝贵经验 2019-05-23
  • 劲爆福利 昨日中奖名单公布 今日5大箱可乐任意送劲爆福利-等级 2019-05-22
  • 风水神话更危险的事,就是眼瞎,根本分不清谁对谁, 2019-05-22
  • Jquery中文网 南粤风采36选7开奖公告 www.77402m.com
    Jquery中文网 >  脚本编程  >  php  >  正文 php使用header发送各种类型文件下载的例子

    福建体彩票31选7走势图:php使用header发送各种类型文件下载的例子

    发布时间:2015-07-20   编辑:南粤风采36选7开奖公告 www.77402m.com
    php使用header发送各种类型文件下载的例子

    南粤风采36选7开奖公告 www.77402m.com 首先,来看一个示例:
     

    复制代码 代码如下:
    <?php 
    header('Content-type: application/image/pjpeg');//输出的类型 
    header('Content-Disposition: attachment; filename="downloaded.jpg"'); //下载显示的名字,注意格式 
    readfile('my.jpg'); 
    // 并将这个文件以前面header发送信息设定的类型输出,从而会弹出一个下载框 
    // 就是把服务器上的my.jpg下载下来,下载显示和保存的名字默认是downloaded.jpg 
    ?>  

    所谓实现文本文件的下载就是说当我们点击一个文本文件的链接的时候不是打开这个文件,而是弹出一个下载对话框让我们下载,这就是今天讨论的主要问 题。PHP帮助文档里面关于PHP通过header触发下载的说明比较简单,而网上关于此方面的文章也少的可怜,有很多文章都无法实现所需要的效果。
     
    如果从准确的角度来说,那PHP文档是最准确的,因为它很简练的列出了实现文本类文件触发下载所需要的三条语句,以PDF为例就是:
     

    复制代码 代码如下:
    <?php
    // We'll be outputting a PDF 
    header('Content-type: application/pdf'); 
    // It will be called downloaded.pdf 
    header('Content-Disposition: attachment; filename="downloaded.pdf"'); 
    // The PDF source is in original.pdf 
    readfile('original.pdf'); 
    ?>

    这三句是正确的,但是在真正用的过程中很容易出现一些无法预料的问题,如果你是一个很仔细的人的话,也可以很容易的避免这些问题。而我不是,所以我就遇到了这样的问题,这里就以我的问题来简单说一下。

    对于第一句,应该没啥说的,是必须的,只要改一下文档的类型就行,例如是下载txt文件,那就改为header(’Content-type: application/txt’);
    第二句也没啥说的,就是为你的下载文档起一个名字,如果是txt文件的话,可以改为 header(’Content-Disposition: attachment; filename=”downloaded.txt”‘);
    第三句的问题就比较多了,readfile这个函数的意思就是读取一个文件然后输出,这里文 件的路径需要是真实的文件路径,如果是downloads文件夹下面的一个original.txt文件,可以这样写 readfile(’downloads/original.txt’);,而如果提交的页面会输出文本等字符,那么下载到的文件会是原文件 original.txt和提交的页面输出的文字的混合文件。

    我在这里就缺少了仔细的观察,一看下面不对就立即去查代码了,而没发现上面的文本就是我需要 的内容,发现了这部分内容,你可能就很快想到怎么来解决这个问题了,也就是关闭提交到的页面的文本内容的输出。

    问题就解决了,从而也就实现了文本文件链接被点击的时候会触发下载对话框的效果。

    您可能感兴趣的文章:
    php使用header发送各种类型文件下载的例子
    PHP header()函数使用详解
    php使用header函数设置各种HTTP头的例子
    PHP中HEADER头消息详解
    php header函数使用要点
    phpmailer实现的简单openvpn用户认证的代码
    php中通过curl smtp发送邮件的例子
    使用pear:Net_SMTP类发送邮件的例子
    php的ftp函数操作实例
    php使用Pear的NetMail发送smtp邮件

    关键词: header  PHP文件下载   
    [关闭]
  • 鄂州重拳治理“散乱污”企业 半年内关停数量比过去两年还多 2019-06-15
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-06-15
  • 学习领会党的十九大报告需要准确把握的几个重大问题 2019-06-09
  • 飞行员夜间海上实弹射击 导弹全部命中目标 2019-06-07
  • 武警重庆总队举行干部退役仪式 2019-06-06
  • 香港大学发现有效对抗流感病毒的新方法 2019-06-05
  • 一语惊坛(6月15日):人民日报和共和国共同成长。 2019-06-05
  • 人的本质,要能反映出人与动物的本质不同。过去有个网友说“劳动是人的本质”;真理先生现说是“财富占有”!???,能解释一下么? 2019-06-04
  • 点击天山网 掌握全新疆 2019-06-04
  • 端午小长假各大文化场馆火热迎客 文化游成市民游客假期“心头好” 2019-05-31
  • 肉毒梭菌感染相关新闻 2019-05-31
  • 姚明撰文回忆菜鸟赛季 温暖的回忆感谢弗朗西斯 2019-05-26
  • 遵义师范学院副校长颜永强:长征为军队建设提供三方面宝贵经验 2019-05-23
  • 劲爆福利 昨日中奖名单公布 今日5大箱可乐任意送劲爆福利-等级 2019-05-22
  • 风水神话更危险的事,就是眼瞎,根本分不清谁对谁, 2019-05-22