PHPMailer ZIP所有附件

时间:2016-09-21 19:49:36

标签: php zip phpmailer

我正在使用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">
}

在选中的每个复选框的最后,我想压缩所有附件并将它们放在一个拉链中,而不是一个一个地发送。

1 个答案:

答案 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);
}