【发布时间】:2016-11-23 14:09:54
【问题描述】:
我想使用带有附件(CSV 文件)的 php 发送电子邮件。它工作正常,但我想从我的数据库中的一张表的数据中制作该 csv 文件。我该怎么做??
<?php
require_once('\PHPMailer-master\class.phpmailer.php');
$email = new PHPMailer();
$email->From = 'myid@yahoo.in';
$email->FromName = 'name';
$email->Subject = 'Message Subject';
$email->Body = "GO away";
$email->AddAddress( 'abc@example.com' );
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');
$output = fopen('php://output', 'w');
fputcsv($output, array('serial', 'group','end'));
$rows = mysqli_query($db, 'SELECT * FROM list');
while ($row = mysqli_fetch_assoc($rows)) {
fputcsv($output, $row);
}
fclose($output);
mysqli_close($db);
$file_to_attach = 'data.csv';
$email->AddAttachment( $output , 'data.csv' );
return $email->Send();
?>
【问题讨论】:
-
在 $output 中,您必须打开/创建一个类似“export.csv”的文件,然后可以像您的“data.csv”一样附加该文件