在php中设置了文件下载,下载按钮使用表单的方式来提交
<form method="post" class="form-inline" role="form" > <input type='hidden' name='download' value='1'/> <div> <button type="submit" class="btn btn-default">下载</button> </div> </form>
生成下载文件的代码,需要提交表单变量才能生成
if(isset($_POST['download'])){ header('Location: lib/download.php'); }
但是点击下载按钮后,待下载文件会被清空,查看刷新页面的时候,文件不是空的,但是点击那个下载按钮后会清空,即使去掉了跳转代码后也会,怪了。
最后想到了,是因为点击下载的表单后,会提交请求,并重新执行页面的代码,这样因为没有提交其他的表单,不会生成文件,所以只能下载空白文件了,修改表单成如下后,问题解决
<form method="post" class="form-inline" role="form" action = "lib/download.php"> <input type='hidden' name='download' value='1'/> <div> <button type="submit" class="btn btn-default">下载</button> </div> </form>