客户端的浏览器通过HTTP协议可以实现文件下载;
方法一:
能提供用户下载的最简单的方法就是使用一个<a></a>标签,比如在页面中添加这么一行代码
1 <a href="test/php/123.zip">点击即可下载</a>
只要用户在浏览器中一点击链接就能达到下载的目的,但是这只能针对与浏览器不能直接打开的文件,比如压缩包,可执行文件......
如果是图片,声音,视频等文件,浏览器都是能直接打开的,再用上面的方法,就会直接在浏览器中打开展示提供给用户,此时就得使用另外一种方法了。
方法二:
在给出文件路径之前,要先通过header()函数将修改HTTP协议中的实体首部字段中某些字段的值
比如,要提供一张图片(123.png)给用户下载,那么只需下面的几行代码
1 $filename="123.png"; 2 header("Content-Type:image/png"); 3 header("Content-Disposition:attachment;filename=".$filename); 4 header("Content-Length".filesize($filename)); 5 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");
这只是一个示例,至于怎么用,可以自己修改的哈