我有一个脚本,当前从wordpress DB获取一些数据然后循环返回的行并使用fputcsv()。文件句柄设置为:
$fh = fopen('php://output', 'w');
该脚本链接到网页的链接,当您单击该链接时,它会下载CSV(使用内容处置标题)。
是否可以写入php://输出此CSV文件,然后使用PHP的mail()函数将其发送到附件中?
我有一个我写过的邮件功能,它会将MIME类型设置为multipart / mixed,我只是不确定如何创建要通过电子邮件发送的实际附件。
答案 0 :(得分:1)
请改用tmpfile()。将您的CSV数据写入该临时文件,然后将其附加到您的电子邮件中。
另外,不要编写自己的mime处理/生成函数。使用像PHPMailer或Swiftmailer这样的库来为您完成。更容易,更可靠。部分附件处理代码允许您指定用户看到的文件名,因此即使它可能是“/ tmp / abc123def”,它也会在实际电子邮件中显示为“data.csv”(或您指定的任何内容)。