【问题标题】:PHP output CSV to emailPHP 输出 CSV 到电子邮件
【发布时间】:2012-10-04 23:33:56
【问题描述】:

我有一个脚本,该脚本当前从 wordpress 数据库中获取一些数据,然后遍历返回的行并使用 fputcsv()。文件句柄设置为:

$fh = fopen('php://output', 'w');

脚本链接到网页的链接,当您单击该链接时,它会下载 CSV(使用 content-disposition 标头)。

是否可以写入 php://output 这个 CSV 文件,然后使用 PHP 的 mail() 函数以附件形式发送它?

我编写了一个邮件函数,它将 MIME 类型设置为多部分/混合,我只是不确定如何创建要通过电子邮件发送的实际附件。

【问题讨论】:

  • 小心你不要把它变成XY Problem。您提出的解决方案并不总是实现目标的最佳方式。
  • 只是为了让您的生活更轻松,看看Pear MailPHPMailer

标签: php email


【解决方案1】:

请改用tmpfile()。将您的 CSV 数据写入该临时文件,然后将其附加到您的电子邮件中。

另外,不要编写自己的 mime 处理/生成函数。使用 PHPMailer 或 Swiftmailer 之类的库来为您完成这项工作。更容易,更可靠。他们的部分附件处理代码允许您指定用户看到的文件名,因此即使它可能是“/tmp/abc123def”,它也会在实际电子邮件中显示为“data.csv”(或您指定的任何内容)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-23
    • 1970-01-01
    • 2012-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    相关资源
    最近更新 更多