现在已经扭转并开启了几个小时,无法弄清楚如何理解它。
我在一个围绕6000行的PHP文件中工作......
在执行switch case header调用之前,有多个header()调用。
如果我使用ob_start(); header()调用有效;和ob_end_flush();在文档的顶部和底部。
由于某些原因我不明白,这个:
$csv = urldecode($source['csv']);
$filename = urldecode($source['file']);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Disposition: attachment; filename=$filename");
header("Pragma: no-cache");
header("Expires: 0");
print $csv;
break;
输出整个html文档,而不仅仅是$ csv变量,它应该打印并保存客户端浏览器的.csv文件。
想法? :)
注意:调用是从php文档调用的 - >发布 - > $ csv和$ filename,它们都是$ _POST []。
答案 0 :(得分:3)
使用exit
代替break
!
否则可以执行此后的其他代码。