当需要将文件直接下载时,可以使用如下的函数来实现。

代码:

复制代码 代码示例:

function downloadFile($file){

$file_name = $file;

$mime = 'application/force-download';

header('Pragma: public');       // required

header('Expires: 0');    // no cache

header('Cache-Control: must-revalidate, post-check=0, pre-check=0');

header('Cache-Control: private',false);

header('Content-Type: '.$mime);

header('Content-Disposition: attachment; filename="'.basename($file_name).'"');

header('Content-Transfer-Encoding: binary');

header('Connection: close');

readfile($file_name);    // push it out

exit();

}

php将文件下载下来而不是超链接下载,这样可以减少盗链的情况!

将文件给浏览器让浏览器下载。

下面以txt类型为例,介绍下php实现强制下载指定类型文件的方法。

由于现在的浏览器已经可以识别txt文档格式,如果只给txt文档做一个文字链接的话,点击后只是打开一个新窗口显示txt文件的内容,并不能实现点击下载的目的。

此问题的解决办法也可以是将txt文件改名为浏览器不认识的文件(比如rar),这样的话,由于浏览器不能识别rar类型的文件,只能让用户下载了。

另外一种办法,就是利用代码通过header设置文档的格式来实现点击下载的目的。

例子:

复制代码 代码示例:

$filename = '/path/'.$_GET['file'].'.txt'; //文件路径

header("Content-Type: application/force-download");

header("Content-Disposition: attachment; filename=".basename($filename));

readfile($filename);

说明:

第一个header函数设置Content-Type的值为application/force-download;

第二个header函数设置要下载的文件。注意这里的filename是不包含路径的文件名,filename的值将来就是点击下载后弹出对话框里面的文件名,如果带路径的话,弹出对话框的文件名就是未知的;

最后通过readfile函数,将文件流输出到浏览器,便实现了txt文件的下载。

php只显示指定文件类型_php强制下载指定类型的文件相关推荐

  1. php 图片不让下载,php简单实现文件或图片强制下载的方法

    本文实例讲述了php简单实现文件或图片强制下载的方法.分享给大家供大家参考,具体如下://下载function downregcaseAction() { $file="upload/reg ...

  2. php只显示指定文件类型_PHP 上传时的文件类型

    php上传常见文件类型对应的$_FILES["file"]["type"]. xls application/vnd.ms-excel xlsx applica ...

  3. 原生Servlet文件上传和下载Servlet多个文件上传

    2019独角兽企业重金招聘Python工程师标准>>> 转载:原文连接https://blog.csdn.net/HaHa_Sir/article/details/81744629 ...

  4. Struts文件上传与下载详解_文件的下载

    在 两篇我们主要说的是文件的上传,既然有上传那就有下载,那么咱们看一下struts里面是怎么个下载法! 1.写个文件下载的表单页面: <a href="downLoad.action? ...

  5. php遍历文件夹下文件内容_PHP递归遍历指定文件夹内的文件实现方法

    今天早上在地铁上看了关于文件和文件夹的一章,正好最近刚搞懂linux的文件系统,觉得对文件属性的访问跟Shell命令很像,所以想晚上来实践一下. 发现php的文件夹函数好像没有提供遍历文件夹下的所有文 ...

  6. cf登录游戏只显示服务器的字体,cf辅助灭天大神修复文件字体花样请求解决方法...

    cf冰易辅助小编解说硬盘分区魔术师解答方法 在操作体系的历程中会碰见林林总总的问题,比方最常常见文件字体花样请求的状况,许多用户都是初次遇到文件字体花样请求这类状况,所以人人都没有好的处置惩罚要领,怎 ...

  7. php 上传pdf文件损坏,php – 强制下载PDF文件,损坏文件

    我有一个问题,已经多次上升,但我似乎无法找到我的解决方案!我正在尝试将pdf文件发送到客户端而不在浏览器中打开,文件下载但是当我打开它并且从原始文件中丢失了相当多的字节时它已损坏.我已经尝试了几种这样 ...

  8. php连接mysql指定表名_php mysql获取指定数据库所有表名_PHP教程

    $cn = mysql_connect('localhost','root','root'); mysql_select_db('test',$cn); print_r(get_tables()); ...

  9. linux文件的打包与下载总结,linux下文件的打包和压缩

    一.文件压缩的原理 简单来说,压缩技术就是在存储时将文件里面没有使用的空间利用起来,主要有以下两种情况. 存储时去掉没有用到的空间.假设我们只是存储一个数字 1 ,二进制表示数字1只需1个bit是1就 ...

最新文章

  1. How Many Answers Are Wrong HDU - 3038(带权并查集经典题,满满的都是注释)
  2. c语言发牌思路,C语言发牌机程序求详细解析
  3. 从零开始来看一下Java泛型的设计
  4. 如何查看电脑显卡配置_组装电脑:电脑配置显卡推荐
  5. SqlServer分组取一瓢和月初月末
  6. 20 WBS要素xxxxxx有不同的存货估价
  7. Spring Boot+Ext JS准前后端框架应用的会话(Session)处理
  8. Python实践:猜数字小程序Collatz序列
  9. MATLAB GUI程序设计中ListBox控件在运行期间消失的原因及解决方法
  10. C# 注册dll的两种方式
  11. java后台json集合传前台js
  12. 用VB 代码读取 Excel 内容
  13. 中国互联网史就是一部流氓史!
  14. 登录失败 12306服务器不稳定,为什么12306登陆失败
  15. 近期民生银行香港卡办理补件通知:请补充公司名称+税号
  16. Linux下cp和scp的详细说明及其他们的区别
  17. Swift - 微信聊天群头像实现 (群聊的组合头像)
  18. Hyper-V设置多个网口
  19. mc服务器语音,《我的世界》语音聊天Mod安装使用教程
  20. IcoFX 3.5.1多语言版本

热门文章

  1. windows服务与网页交互_戴尔高级主动式触控笔-PN579X评测:Windows也有好触控
  2. 洛谷 P3384 【模板】树链剖分-树链剖分(点权)(路径节点更新、路径求和、子树节点更新、子树求和)模板-备注结合一下以前写的题目,懒得写很详细的注释...
  3. Linux centos7 下 svn 服务器搭建
  4. 操作MySQL数据库
  5. PHP远程下载图片损坏问题
  6. VisualSVN Server以及TortoiseSVN客户端的配置和使用方法
  7. ArcGIS网络分析之构建网络分析数据集(一)
  8. web标准页面知识必备
  9. 奥比中光大白(3D结构光)摄像头测试发现对着灯光过曝问题
  10. 我眼中的Linux设备树(一 概述)