PHPmailer不是';t在以电子邮件形式提交时从表单附加文件

PHPmailer不是';t在以电子邮件形式提交时从表单附加文件,php,forms,email,attachment,Php,Forms,Email,Attachment,我试图建立一个电台和文本输入的形式,但也有一个文件上传,我想附加到电子邮件的形式产生和发送 我已经尝试了很多不同的方法来实现这一点,但没有一个会起作用,我可以得到电子邮件发送的所有信息,但附件,我看不出我做错了什么,任何帮助将不胜感激 这是web表单(html): 这是PHP: <?php $school = $_POST['school']; $stop = $_POST['stop']; $mon = $_POST['mon']; $tue = $

我试图建立一个电台和文本输入的形式,但也有一个文件上传,我想附加到电子邮件的形式产生和发送

我已经尝试了很多不同的方法来实现这一点,但没有一个会起作用,我可以得到电子邮件发送的所有信息,但附件,我看不出我做错了什么,任何帮助将不胜感激

这是web表单(html):


这是PHP:

<?php

    $school = $_POST['school'];
    $stop = $_POST['stop'];
    $mon = $_POST['mon'];
    $tue = $_POST['tue'];
    $wed = $_POST['wed'];
    $thu = $_POST['thu'];
    $fri = $_POST['fri'];
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $dob = $_POST['dob'];
    $file_to_attach = $_POST['uploaded_file'];

    $bodytext = <<<EOD
School: $school \n
Stop: $stop \n
Days: $mon $tue $wed $thu $fri \n
Name: $name $surname \n
DOB: $dob \n
Photo ID: $file \n
EOD;

    require("phpmailer.php");

    $email = new PHPMailer();
$email->From      = 'info@ausdenclark.co.uk';
$email->FromName  = 'Ausden Clark';
$email->Subject   = 'Schooltravel Application';
$email->Body      = $bodytext;
$email->AddAddress( 'd.o.m.d@hotmail.com' );

$email->AddAttachment( $file_to_attach , 'uploaded_file' );

return $email->Send();

?>


我想这是一件非常愚蠢和简单的事情,我做错了

$file\u to\u attach
不包含文件(文件不能通过
$\u POST
superglobal获得,而是通过
$\u files
superglobal获得)。你应该从阅读如何上传文件开始:我用$\u POST替换了$\u文件,但似乎没有什么区别。你读了我链接到的文章了吗?这不是很简单。是的,我有,但我可以看到什么不匹配,我不需要在服务器上验证或存储文件,所以我不确定我的代码中缺少什么。不,你看不到/不理解什么匹配。我将尝试解释:为了附加文件,必须首先将文件保存到服务器。然后,文件保存到服务器后,您可以
AddAttachment()
。然后,如果不想将文件保存在服务器上,可以删除服务器。但是,除非您实际保存该文件,否则服务器上不存在该文件供
AddAttachment()
抓取。
<?php

    $school = $_POST['school'];
    $stop = $_POST['stop'];
    $mon = $_POST['mon'];
    $tue = $_POST['tue'];
    $wed = $_POST['wed'];
    $thu = $_POST['thu'];
    $fri = $_POST['fri'];
    $name = $_POST['name'];
    $surname = $_POST['surname'];
    $dob = $_POST['dob'];
    $file_to_attach = $_POST['uploaded_file'];

    $bodytext = <<<EOD
School: $school \n
Stop: $stop \n
Days: $mon $tue $wed $thu $fri \n
Name: $name $surname \n
DOB: $dob \n
Photo ID: $file \n
EOD;

    require("phpmailer.php");

    $email = new PHPMailer();
$email->From      = 'info@ausdenclark.co.uk';
$email->FromName  = 'Ausden Clark';
$email->Subject   = 'Schooltravel Application';
$email->Body      = $bodytext;
$email->AddAddress( 'd.o.m.d@hotmail.com' );

$email->AddAttachment( $file_to_attach , 'uploaded_file' );

return $email->Send();

?>