0

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

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

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

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

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

4

1 回答 1

1

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

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

于 2012-10-15T01:10:30.123 回答