在 PHP 中为用户创建一个 CSV 文件 [英] Create a CSV File for a user in PHP

查看:29
本文介绍了在 PHP 中为用户创建一个 CSV 文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在 MySQL 数据库中有数据.我正在向用户发送一个 URL,以便将他们的数据作为 CSV 文件导出.

I have data in a MySQL database. I am sending the user a URL to get their data out as a CSV file.

我已经涵盖了链接、MySQL 查询等的电子邮件.

I have the e-mailing of the link, MySQL query, etc. covered.

当他们点击链接时,我怎样才能弹出一个窗口来下载带有 MySQL 记录的 CVS?

How can I, when they click the link, have a pop-up to download a CVS with the record from MySQL?

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

I have all the information to get the record already. I just don't see how to have PHP create the CSV file and let them download a file with a .csv extension.

推荐答案

试试:

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

echo "record1,record2,record3
";
die;

这是我用来选择性地对 CSV 字段进行编码的代码片段:

Here's a snippet of code I use to optionally encode CSV fields:

function maybeEncodeCSVField($string) {
    if(strpos($string, ',') !== false || strpos($string, '"') !== false || strpos($string, "
") !== false) {
        $string = '"' . str_replace('"', '""', $string) . '"';
    }
    return $string;
}

这篇关于在 PHP 中为用户创建一个 CSV 文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆