首页 >后端开发 >php教程 >如何使用 PHP 从 MySQL 数据库生成并下载 CSV 文件?

如何使用 PHP 从 MySQL 数据库生成并下载 CSV 文件?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-10 21:44:18884浏览

How to Generate and Download a CSV File from a MySQL Database using PHP?

如何在 PHP 中为用户创建和下载 CSV 文件

问题:

用户请求以 CSV 文件形式从 MySQL 数据库检索数据。 PHP 脚本如何生成 CSV 文件并提示用户在访问 URL 时下载它?

答案:

创建并下载 CSV 文件PHP:

header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=file.csv");

function outputCSV($data) {
  $output = fopen("php://output", "wb");
  foreach ($data as $row)
    fputcsv($output, $row); // here you can change delimiter/enclosure
  fclose($output);
}

outputCSV(array(
  array("name 1", "age 1", "city 1"),
  array("name 2", "age 2", "city 2"),
  array("name 3", "age 3", "city 3")
));

说明:

  1. 输出 CSV 标头:

    • 标头("Content-类型:text/csv") 将内容类型设置为CSV。
    • 标头("Content-Disposition:attachment; filename=file.csv") 设置下载 CSV 文件的文件名和内容处置类型(附件)。
  2. 输出 CSV 函数(outputCSV):

    • 输出 CSV函数接受行数组作为输入。
    • 它打开一个流以输出到 php://output。
    • 对于每一行,它使用 fputcsv 将行写入流。默认情况下,fputcsv 使用逗号作为字段分隔符,使用双引号作为括弧。您可以根据需要自定义这些选项。
    • 最后关闭流。
  3. 输出 CSV 数据:

    • 使用数据行数组调用outputCSV函数。
    • 每行代表来自MySQL的一条记录数据库。

以上是如何使用 PHP 从 MySQL 数据库生成并下载 CSV 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn