我的代码:
<form action="" method="GET">
<p><input name="date_start" type="text" id="datestart" /> to
<input name="date_end" type="text" id="dateend" /></p>
<button type="submit">Generate!</button>
</form>
<?php
if ($_GET["date_start"] && $_GET["date_end"]) {
$users_list = mysql_query("my query", $dbc) or die(mysql_error());
$output = fopen("php://output", 'w') or die("Can't open php://output");
header("Content-Type:application/csv");
header("Content-Disposition:attachment;filename=user_list.csv");
fputcsv($output, array("First Name", "Last Name", "Email", "Mobile", "Site"));
while ($row = mysql_fetch_assoc($users_list)) {
fputcsv($output, $row);
}
fclose($output) or die("Can't close php://output");
}
?>
基本上,我将我的 FORM 发送到同一页面,在表单下方检查我的 GET 变量并尝试强制下载 CSV 文件,但不是下载,而是简单地打印我的查询内容。
我认为这是因为我的标头已经发送,但是有没有办法下载文件?