PHPMAILER多附件?怎么用?

PHPMAILER多附件?怎么用?,php,html,phpmailer,Php,Html,Phpmailer,我有一个简单的表格: .... .... 更改 $mail->AddAttachment($percorso.$_FILES['allegato']['name']); 到 并将该方法再次用于另一个文件,它会将其添加到附加文件中 编辑: 我意识到你的文件输入中有“多重”属性 您希望附加所有这些文件。好的,我们必须知道,当你有“多个”属性时,文件将存储在一个“怪异”数组中 第一个文件是$\u文件['inputname']['tmp\u name'][0] 第二个文件是$\u文件['in

我有一个简单的表格:


....
....
更改

$mail->AddAttachment($percorso.$_FILES['allegato']['name']);

并将该方法再次用于另一个文件,它会将其添加到附加文件中

编辑:

我意识到你的文件输入中有“多重”属性

您希望附加所有这些文件。好的,我们必须知道,当你有“多个”属性时,文件将存储在一个“怪异”数组中

第一个文件是
$\u文件['inputname']['tmp\u name'][0]
第二个文件是
$\u文件['inputname']['tmp\u name'][1]

等等。这就是添加这些附件的方式

如果要获取多个上载文件的大小,请使用:

`$_FILES['inputname']['size'][0]` -> Size of the first file
`$_FILES['inputname']['size'][1]` -> Size of the second file
试试这个

for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
    $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name'][$ct]));
    $filename = $_FILES['userfile']['name'][$ct];
    if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
        $mail->addAttachment($uploadfile, $filename);
    } else {
        $msg .= 'Failed to move file to ' . $uploadfile;
    }
}
for($ct=0;$ctaddAttachment($uploadfile,$filename);
}否则{
$msg.='无法将文件移动到'.$uploadfile;
}
}

如果添加另一个
$mail->AddAttachment(),会发生什么情况?在
循环的
中包含附件代码。请参考此链接,因为多个上载按钮有问题-您可能得到了数组作为结果,所以请循环通过它,并附加文件…@HPierce我已经尝试过了,但不起作用…@Nitin我不明白。。。已经试过了…但不起作用!你好,谢谢你的回复。它不起作用。我不知道我是否错了。下面您可以看到我是如何更改的。请记住,当您的文件输入中有MULTIPLE属性时,您将需要访问每个文件及其在数组中的位置。--$邮件->添加附件($percorso.$_文件['allegato']['tmp_名称'][0]);将附加第一个文件,依此类推。
for ($ct = 0; $ct < count($_FILES['userfile']['tmp_name']); $ct++) {
    $uploadfile = tempnam(sys_get_temp_dir(), hash('sha256', $_FILES['userfile']['name'][$ct]));
    $filename = $_FILES['userfile']['name'][$ct];
    if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
        $mail->addAttachment($uploadfile, $filename);
    } else {
        $msg .= 'Failed to move file to ' . $uploadfile;
    }
}