我正在使用PHPMailer将附件发送到电子邮件。
我有if语句如下:
if(isset($_POST['checkbox1'])) {
$mail->addAttachment('pdf/1.pdf');
$name = "PDF 1";
}
if(isset($_POST['checkbox2'])) {
$mail->addAttachment('pdf/2.pdf');
$name = "PDF 2">
}
在选中的每个复选框的最后,我想压缩所有附件并将它们放在一个拉链中,而不是一个一个地发送。
答案 0 :(得分:2)
这不是PHPMailer的工作。 Zip the files first,然后附上它们:
$zip = new ZipArchive();
$filename = "./files.zip";
$hasfiles = false;
if ($zip->open($filename, ZipArchive::CREATE)!==TRUE) {
exit("cannot open <$filename>\n");
}
if(isset($_POST['checkbox1'])) {
$zip->addFile('pdf/1.pdf');
$hasfiles = true;
}
if(isset($_POST['checkbox2'])) {
$zip->addFile('pdf/2.pdf');
$hasfiles = true;
}
$zip->close();
if ($hasfiles) {
$mail->addAttachment($filename);
}