浏览器下载文件,例如在浏览器中可以直接打开的文件(.gif  /.txt等)。
在进行文件下载操作时,默认是通过浏览器直接打开,而不是下载保存文件。并且通过这种方法下载文件可以不暴漏下载文件所在的路径,可以在下载之前进行一系列的权限控制.
如果强制浏览器下载,有二种方案,
一是:把所有文件全部做成压缩文件等浏览器无法识别的格式,操作比较繁琐。
二是:通过php操作header,进行强制下载。 通过以下代码可以实现php强制文件下载,代码如下
 <?php

 if(isset($_GET['key']))
{
$filename = './test.png';
if(file_exists($filename))
{
header ("Content-Type: application/force-download");
header ('Content-Disposition: attachment;filename="'.$filename.'"');
readfile ($filename);
}
} ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
</head>
<body>
<a href="./force_download.php?key=564984w1f321fd5s6f98rf7w1re">下载png</a>
</body>
</html>
												

php进行文件的强制下载的更多相关文章

  1. 记录一个php强制下载文件函数

    整理个经常用的强制下载文件的函数,之前就说把一些常用的东西整理出来结果老是没时间,最近陆续把这些东西整理下. public function download() { $id = $this-> ...

  2. php强制下载文件并显示原始文件名

    原来一直没有接触过,这几天一直在玩儿文件上传下载的东西.今天又遇到一个坑. 描述:文件上传至服务器后,如果是rar或则其他的非浏览器直接识别的格式,用户点击链接了后是可以直接就被下载下来的.那么如果上 ...

  3. PHP如何强制下载文件

    很多网站都需要做文件下载的功能.如果直接给连接的方式下载的话有很多的弊处...因为有时候需要对下载权限的检查,对下载次数的检查.所以一般采用php的方法进行安全下载.但是下载的时候如果是txt jpg ...

  4. 十三、nginx 强制下载txt等文件

    当前的浏览器能够识别文件格式,如果浏览器本身能够解析就会默认打开,如果不能解析就会下载该文件. 那么使用nginx做资源服务器的时候,如何强制下载文件呢? location /back/upload/ ...

  5. Nginx配置指定媒体类型文件强制下载

    由于业务需要,在点击显示链接(如www.xxx.com/2015-01-15/xxx.png)显示媒体资源(如图片.视频.音频.文档),而在点击下载链接(如www.xxx.com/2015-01-15 ...

  6. 网络加速手段之一,JS文件资源合并下载

    有过ftp下载文件经验的人都有体验,单独下载一个100M的文件比分开下载100个1M的文件速度快很多,这是因为下载需要解析域名,建立连接等额外开销的时间,因此下载100个文件就要做100次这种额外的开 ...

  7. SpringBoot文件上传下载

    项目中经常会有上传和下载的需求,这篇文章简述一下springboot项目中实现简单的上传和下载. 新建springboot项目,前台页面使用的thymeleaf模板,其余的没有特别的配置,pom代码如 ...

  8. TP5 强制下载PDF

    为什么叫强制下载  因为你点击你的PDF文件路劲的话   浏览器是默认字网页上打开,而不是下载 我们需要做的就是 修改header头信息  使其变为下载状态 //下载PDF public functi ...

  9. Spring Boot2(十四):单文件上传/下载,文件批量上传

    文件上传和下载在项目中经常用到,这里主要学习SpringBoot完成单个文件上传/下载,批量文件上传的场景应用.结合mysql数据库.jpa数据层操作.thymeleaf页面模板. 一.准备 添加ma ...

随机推荐

  1. Spring Cloud与Duddo比较(非原创)

    文章大纲 一.Spring Cloud与Duddo背景介绍二.Spring Cloud与Duddo比较三.参考文章   一.Spring Cloud与Duddo背景介绍   国内技术人员喜欢拿 Dub ...

  2. JavasJavaScript笔试题

    这几天参加了好多场宣讲会,记录一下遇到的编程题还有平时练习遇到的(如果有更好的方法欢迎提出,本人也是菜鸟一枚): 1.数组查重,并返回出重复次数最多的项并记录重复次数: function chacho ...

  3. awk单引号处理

    awk中使用单引号,常规字符串,'\''即可,但如果像下面在$4变量用单引号,则还需要加上双引号才行. cat 2.txt | awk '{ print $1, $2, $3, "'\''& ...

  4. pixhawk 固件Firmware内执行make px4fmu-v2_default 编译报错解决办法

    执行下列指令报错 make px4fmu-v2_default /bin/sh: 1: Tools/check_cmake.sh: Permission denied Makefile:44: Not ...

  5. css:focus伪类的使用

    css中:focus伪类的使用,即给已获取焦点的元素设置样式 示例一 <!DOCTYPE html> <html lang="en"> <head&g ...

  6. Vmware Player 比较

    .wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertica ...

  7. SGU 258 Almost Lucky Numbers 接近幸运数(数位DP)

    题意: 定义一个具有2n位的正整数,其前n位之和与后n位之和相等,则为lucky数.给定一个区间,问有多少个正数可以通过修改某一位数从而变成lucky数?注意不能含前导0. 思路: 我的想法是记录那些 ...

  8. python爬虫之路——初识函数与控制语句

    介绍python函数的定义与使用方法,介绍Python的常用控制语句:判断和循环 函数: 格式 def   函数名(参数1,参数2): return ‘结果’ 判断语句:就是多选一 二选一: if c ...

  9. 2017-3-7-lint82single-number

    2017-3-7-lint82single-number 在河之洲 算法 小书匠 problem 82single-number/ solution int singleNumber(vector&l ...

  10. GWTDesigner_v5.1.0破解码

    GWTDesigner_v5.1.0_win32_x86.exe破解码,双击运行keygeno.jar,然后输入用户名.网卡MAC,然后单击Generate,将生成的文件放在C:\Documents ...