我正在尝试从我的 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');
}
?>
我该怎么做?
最佳答案
尝试将 .csv 添加到 header 的文件名中。
关于php - 导出 csv 文件以使用 PHP 从 mysql 下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659318/