当尝试使用phpmailer发送多个文件时,我正在使用以下语句检查是否至少上传了一个文件:
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) or move_uploaded_file($_FILES['userfile2']['tmp_name'], $uploadfile2) or move_uploaded_file($_FILES['userfile3']['tmp_name'], $uploadfile3)) {
并使用此代码附加文件
$mail->AddEmbeddedImage($uploadfile, 'file', 'Uploaded file');
$mail->AddEmbeddedImage($uploadfile2, 'file2', 'Uploaded file 2');
$mail->AddEmbeddedImage($uploadfile3, 'file3', 'Uploaded file 3');
但是,它仅发送第一个选定的文件,而不发送之后可能发送的其他文件。看起来只要发现条件为真,if语句就会停止。
有人能帮我吗?
实际上...如果在第一个条件匹配时语句停止...因此建立一个新逻辑
例如
<?php
$success = array();
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) $success[] = $uploadfile;
if(move_uploaded_file($_FILES['userfile2']['tmp_name'], $uploadfile2)) $success[] = uploadfile2;
if(move_uploaded_file($_FILES['userfile3']['tmp_name'], $uploadfile3)) $success[] = uploadfile3;
if($success) {
// Your code here
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句