【问题标题】:Exporting/Downloading CSV on the fly using PHP/MYSQL使用 PHP/MYSQL 即时导出/下载 CSV
【发布时间】:2012-04-30 08:28:28
【问题描述】:

我想知道解决以下问题的最佳方法是什么。我需要为客户提供从 CSV 格式的数据库中下载各种记录范围的选项。我正在考虑执行以下操作。

  1. 为用户提供一个网络表单以确定要从数据库中提取哪些行。
  2. 提取适当的记录并从返回数据中创建一个大字符串。
  3. 将字符串发布到创建 CSV 以供下载的脚本。

在尝试上述方法之前,我想知道是否有更好的方法来做到这一点?

谢谢^_^

【问题讨论】:

    标签: php mysql csv download dynamically-generated


    【解决方案1】:

    您可以使用 MySQL 的 SELECT ... INTO OUTFILE 立即以 CSV 格式获取结果。然后,您只需将该 CSV 文件的内容读回给用户。

    这比尝试自己构建 CSV 安全得多(您必须考虑如何正确转义字段分隔符等);但是,如果您想这样做,我建议您使用fputcsv(STDOUT, $results) 以避免常见的陷阱。

    【讨论】:

    • 我喜欢能够直接从 mysql 执行此操作的想法,但是您将如何提示用户然后下载生成的文件?
    • 处理用户表单提交的 PHP 脚本可以在 MySQL 输出的文件上调用 readfile()。请记住适当地设置 MIME 类型 (text/csv),如果您想强制浏览器提示保存文件而不是仅仅在窗口中显示,还要设置 Content-disposition: attachment;filename=foo.csv
    • 粉碎我想我会给这个bash。谢谢^_^
    猜你喜欢
    • 1970-01-01
    • 2014-03-28
    • 2015-11-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多