如何在 PHP 邮件程序中禁用消息 "could not access file"?
How to disable the message "could not access file" in PHP mailer?
我正在使用 PHPMailer 从带有多个附件的表单发送邮件。
这是表格的一部分:
Attachment:<br />
<input type="file" name="attach1" id="attach1" />
<input type="file" name="attach2" id="attach2" />
<input type="file" name="attach3" id="attach3" />
当用户仅附加 1 或 2 个文件时,我在 email.php 中添加了一些条件:
if(!empty($_FILES['attach1'] ))
{
$mail->AddAttachment($_FILES['attach1']['tmp_name']); // bijlage 1
}
if(!empty($_FILES['attach2']))
{
$mail->AddAttachment($_FILES['attach2']['tmp_name']); // bijlage 2
}
if(!empty($_FILES['attach3']))
{
$mail->AddAttachment($_FILES['attach3']['tmp_name']); // bijlage 3
}
但我仍然在空输入字段中收到消息 "could not access file"。
即使使用此消息,附件也会正确发送到电子邮件地址。但是当我只使用 1 或 2 个附件时,我想摆脱它。
好的。这一行:
if(!empty($_FILES['attach3']))..
不等于 false
($_FILES['attach3']
中的数组不为空:它有,例如 $_FILES['attach3']['error']
中的错误代码 eq 4 (UPLOAD_ERR_NO_FILE
) 和其他一些字段)当您仅发送 1 和 2 个附件时 => 在第三种情况下,您会看到带有 "could not access file"
的消息。您需要将支票更改为:
if(!empty($_FILES['attach1']['name'] ))....
if(!empty($_FILES['attach2']['name'] ))....
if(!empty($_FILES['attach3']['name'] ))....
您做错了 - 根据 the docs and the example code provided with PHPMailer.
,您应该在访问 $_FILES 中的文件之前使用 move_uploaded_file
我正在使用 PHPMailer 从带有多个附件的表单发送邮件。 这是表格的一部分:
Attachment:<br />
<input type="file" name="attach1" id="attach1" />
<input type="file" name="attach2" id="attach2" />
<input type="file" name="attach3" id="attach3" />
当用户仅附加 1 或 2 个文件时,我在 email.php 中添加了一些条件:
if(!empty($_FILES['attach1'] ))
{
$mail->AddAttachment($_FILES['attach1']['tmp_name']); // bijlage 1
}
if(!empty($_FILES['attach2']))
{
$mail->AddAttachment($_FILES['attach2']['tmp_name']); // bijlage 2
}
if(!empty($_FILES['attach3']))
{
$mail->AddAttachment($_FILES['attach3']['tmp_name']); // bijlage 3
}
但我仍然在空输入字段中收到消息 "could not access file"。 即使使用此消息,附件也会正确发送到电子邮件地址。但是当我只使用 1 或 2 个附件时,我想摆脱它。
好的。这一行:
if(!empty($_FILES['attach3']))..
不等于 false
($_FILES['attach3']
中的数组不为空:它有,例如 $_FILES['attach3']['error']
中的错误代码 eq 4 (UPLOAD_ERR_NO_FILE
) 和其他一些字段)当您仅发送 1 和 2 个附件时 => 在第三种情况下,您会看到带有 "could not access file"
的消息。您需要将支票更改为:
if(!empty($_FILES['attach1']['name'] ))....
if(!empty($_FILES['attach2']['name'] ))....
if(!empty($_FILES['attach3']['name'] ))....
您做错了 - 根据 the docs and the example code provided with PHPMailer.
,您应该在访问 $_FILES 中的文件之前使用move_uploaded_file