我正在尝试从我的mysql数据库获取csv文件并将其发送到浏览器进行下载。
我读了一些关于它的帖子,但我无法下载文件。
当我运行我的代码时,不会下载该文件。
我通过ajax将POST发送到此文件。
这是我的代码:
<?php
download_send_headers();
$mysqli = new mysqli(*****);
$mysqli->set_charset("utf8");
$sql = "SELECT trainer, COUNT(trainer) FROM personal_traning WHERE gym = ? GROUP BY trainer";
$stmt = $mysqli->prepare($sql);
$stmt->bind_param('s', $_POST['gym']);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($trainer, $trainerCount);
$f = fopen('php://output', 'w');
$results = array();
$row = array();
$row[0] = "Trainer name";
$row[1] = "Count";
fputcsv($f, $row);
while ($stmt->fetch())
{
$row = array();
$row[0] = $trainer;
$row[1] = $trainerCount;
fputcsv($f, $row);
}
$output = stream_get_contents($f);
fclose($f);
echo $output;
die();
function download_send_headers() {
header('Content-Disposition: attachement;filename="name";');
header('Content-Type: application/csv; charset=UTF-8');
}
?>
我该怎么做?
答案 0 :(得分:1)
尝试将.csv添加到标题的文件名中。