PHPMailer-添加附件不工作

PHPMailer-添加附件不工作,php,html,email,phpmailer,Php,Html,Email,Phpmailer,我有一个web表单,它使用phpmailer功能将表单内容通过电子邮件发送给我。我试图添加一个AddAttachment特性,但我似乎在php中遇到了一个问题 这是我的html代码片段: <td> <div align="right">Add attachment :</div> </td> <td colspan="2"> <input type="file" name="uploaded_file" id="u

我有一个web表单,它使用phpmailer功能将表单内容通过电子邮件发送给我。我试图添加一个AddAttachment特性,但我似乎在php中遇到了一个问题

这是我的html代码片段:

<td>
    <div align="right">Add attachment :</div>
</td>
<td colspan="2">
    <input type="file" name="uploaded_file" id="uploaded_file" />
    <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
</td>

添加附件:
这是我的php

<?php

require 'PHPMailerAutoload.php';

$mail = new PHPMailer();

$mail->IsSMTP();  // telling the class to use SMTP
$mail->Host     = "mailer.********.local"; // SMTP server

$mail->From     = $_POST['email'];
$mail->AddAddress("frank********@gmail.com");

$mail->Subject = "Request for Contract Registration for " . $_POST['name'];
$mail->Body     = "Supplier number : " . $_POST['suppno'] . "\r\n";
$mail->Body     .= "Payee name : " . $_POST['name'] . "\r\n";
$mail->Body     .= "Address  : " . $_POST['add'] . "\r\n";
$mail->Body     .= "        : " . $_POST['add2'] . "\r\n";
$mail->Body     .= "             : " . $_POST['add3'] . "\r\n";
$mail->Body     .= "Nature of business : " . $_POST['nob'] . "\r\n";
$mail->Body     .= "Tax Ref : " . $_POST['rctref'] . "\r\n";
$mail->Body     .= "Description of works : " . $_POST['descofwks'] . "\r\n";
$mail->Body     .= "Start date of contract : " . $_POST['stdte'] . "\r\n";
$mail->Body     .= "End date of contract : " . $_POST['enddte'] . "\r\n";
$mail->Body     .= "Location of contract : " . $_POST['location'] . "\r\n";
$mail->Body     .= "Estimated value of contract : " . $_POST['contractval'] . "\r\n";
$mail->Body     .= "Confirm contract : " . $_POST['confirm'] . "\r\n";
$mail->Body     .= "Declaration : " . $_POST['declaration'] . "\r\n";
$mail->Body     .= "Department : " . $_POST['dept'] . "\r\n";

$mail->AddAttachment($_POST['uploaded_file']);

$mail->WordWrap = 50;

if(!$mail->Send()) {
echo 'Message was not sent.';
echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent.';

    header('Location: confirm.htm');
    }
?>

我的路径有问题吗???我可能错过了一些简单的事情,但如果有人能帮助我,我将不胜感激! 提前感谢大家,, 弗兰克。

而不是使用

 $mail->AddAttachment($_POST['uploaded_file']); // WRONG
试试这个

if (isset($_FILES['uploaded_file']) &&
    $_FILES['uploaded_file']['error'] == UPLOAD_ERR_OK) {
    $mail->AddAttachment($_FILES['uploaded_file']['tmp_name'],
                         $_FILES['uploaded_file']['name']);
}
上载的文件存储在临时文件夹中。
你应该从文件系统中添加附件,使用$\u POST是错误的。

你没有上传文件-你必须了解-你还应该使用
$\u文件
超全局,而不是
$\u POST
来访问发布的文件。我已经让它工作了。使用;如果(是上传的文件($\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\$mail->AddAttachment($file);谢谢你的帮助。