PHP文件下载功能实现
客户端的浏览器通过HTTP协议可以实现文件下载;
方法一:
能提供用户下载的最简单的方法就是使用一个<a></a>标签,比如在页面中添加这么一行代码
<a href="test/php/123.zip">点击即可下载</a>
只要用户在浏览器中一点击链接就能达到下载的目的,但是这只能针对与浏览器不能直接打开的文件,比如压缩包,可执行文件......
如果是图片,声音,视频等文件,浏览器都是能直接打开的,再用上面的方法,就会直接在浏览器中打开展示提供给用户,此时就得使用另外一种方法了。
方法二:
在给出文件路径之前,要先通过header()函数将修改HTTP协议中的实体首部字段中某些字段的值
比如,要提供一张图片(123.png)给用户下载,那么只需下面的几行代码
$filename="123.png";
header("Content-Type:image/png");
header("Content-Disposition:attachment;filename=".$filename);
header("Content-Length".filesize($filename));
readfile($filename);
下面是常用的文件类型MIME码:
header("Content-Type:text/html;charset=utf-8");
header("Content-Disposition:attachment;filename=".$filename);
header("Content-Type: image/jpg");
header("Content-Type:image/png");
header("Content-Type:image/gif");
header("Content-Type:image/jpeg");
header("Content-Type:image/x-png");
header("Content-Type:text/txt");
header("Content-Type:text/plain");
header("Content-Type:text/html");
header("Content-Type:audio/basic");
header("Content-Type:audio/x-m4a");
header("Content-Type:video/mpeg");
header("Content-Type:application/zip");
header("Content-Type:application/x-tar");
header("Content-Type:application/x-gz");
header("Content-Type:application/msword");
header("Content-Type:application/powerpoint");
header("Content-Type:application/vnd.ms-excel");
header("Content-Type:application/x-msdownload");
这只是一个示例,至于怎么用,可以自己修改的哈
PHP文件下载功能实现的更多相关文章
- JAVA文件下载功能问题解决日志
今天给报告系统做了个下载功能,遇到了挺多问题,通过查资料一一解决了. 1.首先遇到的问题是:java后台的输出流输出之后,没有任何报错,浏览器端不弹出保存文件的对话框,原本是ajax请求到后台的con ...
- 解决springmvc中文件下载功能中使用javax.servlet.ServletOutputStream out = response.getOutputStream();后运行出异常但结果正确的问题
问题描述: 在springmvc中实现文件下载功能一般都会使用javax.servlet.ServletOutputStream out = response.getOutputStream();封装 ...
- WebView实现文件下载功能
WebView控制调用相应的WEB页面进行展示.安卓源码当碰到页面有下载链接的时候,点击上去是一点反应都没有的.原来是因为WebView默认没有开启文件下载的功能,如果要实现文件下载的功能,需要设置W ...
- Spring Boot实现文件下载功能
我们只需要创建一个控制器(Controler)文件,即Controller目录下的File_Download.java,其完整目录如下: @Controller public class File_D ...
- Spring Boot入门(11)实现文件下载功能
在这篇博客中,我们将展示如何在Spring Boot中实现文件的下载功能. 还是遵循笔者写博客的一贯风格,简单又不失详细,实用又能让你学会. 本次建立的Spring Boot项目的主要功能 ...
- ASP.NET网页中RAR、DOC、PDF等文件下载功能实例源代码
以前做asp.net下载功能的时候都是采用:<a href="http://www.wang0214.com/wgcms">下载</a>的方式来实现下载. ...
- java web文件下载功能实现 (转)
http://blog.csdn.net/longshengguoji/article/details/39433307 需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一 ...
- 【Servlet】java web 文件下载功能实现
需求:实现一个具有文件下载功能的网页,主要下载压缩包和图片 两种实现方法: 一:通过超链接实现下载 在HTML网页中,通过超链接链接到要下载的文件的地址 <!DOCTYPE html> & ...
- ASP.NET MVC 向浏览器发送文件以提供文件下载功能
撑到大三了,结果发现周围的同学更加堕落了,尤其是某些人,表面上看起来很认真,实际上三天打鱼,两天晒网,结果一事无成,却还要抱怨学校教育失败. 为了吸取他们的教训,就算是一个小小的编码问题,我也要努力解 ...
- springboot成神之——spring文件下载功能
本文介绍spring文件下载功能 目录结构 DemoApplication WebConfig TestController MediaTypeUtils 前端测试 本文介绍spring文件下载功能 ...
随机推荐
- maven的build
1.maven-compiler-plugin 作用 编译作用java中获取接口(方法)中的参数名字(eclipse设置编译参数)(java8 javac -parameters)https://bl ...
- mybatis基础系列(三)——动态sql
本文是Mybatis基础系列的第三篇文章,点击下面链接可以查看前面的文章: mybatis基础系列(二)--基础语法.别名.输入映射.输出映射 mybatis基础系列(一)--mybatis入门 动态 ...
- matlab:inv,pinv逆与伪逆
对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A)对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆 inv: inv(A)*B实际上可以写成A\BB*inv(A)实 ...
- all与any的用法
all函数:检测矩阵中是否全为非零元素 any函数:检测矩阵中是否有非零元素,如果有,则返回1,否则,返回0.用法和all一样 语法: B = all(A) B = all(A, dim) 复制代码 ...
- 项目Alpha冲刺 1
作业描述 课程: 软件工程1916|W(福州大学) 作业要求: 项目Alpha冲刺(团队) 团队名称: 火鸡堂 作业目标: 进行github实战训练,锻炼团队合作能力 1.团队信息 队名:火鸡堂 队员 ...
- linux中VI编写C程序。。。
在linux中编写C程序时不像编写shell那样开头要#!/bin/bash,但是在C程序中要指定头文件(头文件是指输入输出,宏等,而且要首先声明,也是必须要开始就声明的) 写好C代码后要给C文件赋予 ...
- ubuntu 安装json
命令行中输入:sudo apt-get install libjsoncpp-dev
- java 容器 List
1.概念:Java容器类类库的用途是保存对象,容器中不能存储基本数据类型,必须是对象(引用数据类型) 2.为什么需要容器:主要是在以数组作为数据的存储结构中,其长度难以扩充,同时数组中元素类型必须相同 ...
- JAVA中map的分类和各自的特性
java为数据结构中的映射定义了一个接口java.util.Map,他实现了四个类,分别是:HashMap,HashTable,LinkedHashMapTreeMap Map不允许键重复,但允许值重 ...
- 使用Webuploader大文件分片传输
背景:50G大文件的HTTP上传至服务器. 好了,根据这个命题,可以开始研究我们怎么做才能把这么大的文件上传成功. 分片上传是肯定的,断点续传也是要有的,进度可视化那就更好了,基于这些,我选择了Web ...