PHPMailer压缩所有附件
我正在使用PHPMailer将附件发送到电子邮件 我有如下声明:PHPMailer压缩所有附件,php,zip,phpmailer,Php,Zip,Phpmailer,我正在使用PHPMailer将附件发送到电子邮件 我有如下声明: if(isset($_POST['checkbox1'])) { $mail->addAttachment('pdf/1.pdf'); $name = "PDF 1"; } if(isset($_POST['checkbox2'])) { $mail->addAttachment('pdf/2.pdf'); $name = "PDF 2"> } 在选中的每个复选框的末尾,我希望压缩所有附
if(isset($_POST['checkbox1'])) {
$mail->addAttachment('pdf/1.pdf');
$name = "PDF 1";
}
if(isset($_POST['checkbox2'])) {
$mail->addAttachment('pdf/2.pdf');
$name = "PDF 2">
}
在选中的每个复选框的末尾,我希望压缩所有附件并将它们放在一个zip中,而不是一个接一个地发送。这不是PHPMailer的工作,然后附上:
$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);
}
$zip=new ZipArchive();
$filename=“./files.zip”;
$hasfiles=false;
如果($zip->open($filename,ZipArchive::CREATE)!==TRUE){
退出(“无法打开”);
}
如果(isset($_POST['checkbox1'])){
$zip->addFile('pdf/1.pdf');
$hasfiles=true;
}
如果(isset($_POST['checkbox2'])){
$zip->addFile('pdf/2.pdf');
$hasfiles=true;
}
$zip->close();
如果($hasfiles){
$mail->addAttachment($filename);
}
现在可以工作,但即使未选中,它也会发送每个文件。例如,如果我选中复选框1,它将发送复选框1和复选框2的文件,也许我必须生成不同的zip文件?如果是这样的话,我该怎么做呢?我只是在邮件发送后取消了zip文件的链接,谢谢。