接上一篇的PHP文件上传
这一章将PHP文件下载
其实php文件下载很简单,只需要在html写a标签,然后让a标签中的href跳转到一个PHP页面,用?传参
<a href="download.php?name=1.jpg&type=image/jpeg" class="btn btn-primary glyphicon glyphicon-download-alt" target="_blank">图片1</a>
一个a标签下载一个文件,想要下载几个文件就写几个a标签
完整的html页面代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<style>
*{
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<div>
<a href="download.php?name=1.jpg&type=image/jpeg" class="btn btn-primary glyphicon glyphicon-download-alt" target="_blank">雨哥1</a>
<a href="download.php?name=2.jpg&type=image/jpeg" class="btn btn-primary glyphicon glyphicon-download-alt" target="_blank">雨哥2</a>
<a href="download.php?name=3.jpg&type=image/jpeg" class="btn btn-primary glyphicon glyphicon-download-alt" target="_blank">雨哥3</a>
</div>
<script src="js/jquery.min.js"></script>
<script>
</script>
</body>
</html>
PHP页面代码
<?php
//1.读取文件(因为是用?传参的方式,所以用get接收)
$filename=$_GET['name'];
$filetype=$_GET['type'];
//2.文件的描述信息Content-Disposition(内容配置)指定为attachment(附件)必须
header("Content-Disposition:attachment;filename={$filename}");
//3.指定被下载文件的类型(非必须)
header("Content-Type:{$filetype}");
//4.指定被下载文件的大小(非必须)
header("Content-Length:".filesize($filename));
//5.将内容读入内存缓存区
readfile($filename);
//注意:在readfile($filename)之前不能有任何的输出语句,否则下载的文件会出错