一尘不染

在PHP中为用户创建CSV文件

php

我在MySQL数据库中有数据。我正在向用户发送URL,以将其数据作为CSV文件输出。

我已经通过电子邮件发送了链接,MySQL查询等内容。

当他们单击链接时,如何显示弹出窗口以从MySQL下载带有记录的CVS?

我已经掌握了所有信息以获取记录。我只是看不到如何让PHP创建CSV文件并让他们下载扩展名为.csv的文件。


阅读 248

收藏
2020-05-26

共1个答案

一尘不染

尝试:

header("Content-type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");
header("Pragma: no-cache");
header("Expires: 0");

echo "record1,record2,record3\n";
die;

等等

编辑:这是我用来选择性编码CSV字段的代码片段:

function maybeEncodeCSVField($string) {
    if(strpos($string, ',') !== false || strpos($string, '"') !== false || strpos($string, "\n") !== false) {
        $string = '"' . str_replace('"', '""', $string) . '"';
    }
    return $string;
}
2020-05-26