PHPMailer文件上传不起作用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHPMailer文件上传不起作用相关的知识,希望对你有一定的参考价值。

我的联系表格工作正常但我无法通过联系表单获取上传的文件。 html代码在这里;

<form id="contact_form" method="post" action="php/mail-advanced.php" enctype="multipart/form-data">
<input type="file" name="file" id="file" multiple />
<label for="file"></label>
<button type="submit" id="submit">SEND MESSAGE</button></form>

这些代码在我的php / mail-advanced.php文件中;

<?php

date_default_timezone_set('Etc/UTC');
require 'PHPMailer/PHPMailerAutoload.php';

$mail = new PHPMailer;
$mail->isSMTP();
$mail->SMTPDebug = 2;
$mail->Debugoutput = 'html';
$mail->Host = "smtp.example.com";
$mail->Port = 587;
$mail->SMTPAuth = true;
$mail->Username = "noreply@example.com";
$mail->Password = "pass";
$mail->setFrom('noreply@example.com', 'Example Message');
$mail->addReplyTo($email);
$mail->addAddress('example@gmail.com', 'Example Message');
$mail->Subject = $subject;
$mail->addAttachment($_FILES['file']);

if (!$mail->send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message sent!";
}

我如何在PHPMailer上获取带文件上传的文件?谢谢!

答案

您需要在PHP中传递文件的临时名称。它与实际上传的方式基本相同。

$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);

以上是关于PHPMailer文件上传不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Codeigniter 文件上传不起作用

java代码在片段活动中不起作用

AJAX上传文件和文本不起作用

Javascript代码片段在drupal中不起作用

替换或删除后台堆栈上现有片段的代码不起作用

片段 getActivity 不起作用