使用javascript将文件发送到php然后发送到电子邮件的正确代码是什么?

使用javascript将文件发送到php然后发送到电子邮件的正确代码是什么?,javascript,php,Javascript,Php,我用的是PHPMailer 我的PHP代码: $mail->addAttachment('excuse-letter.docx', "excuse-letter.docx"); // this code works but i want to know what is the code when a person will upload a file. 我的JavaScript代码: $( "form" ).submit(function( event ) { var

我用的是PHPMailer

我的PHP代码:

 $mail->addAttachment('excuse-letter.docx', "excuse-letter.docx");
 // this code works but i want to know what is the code when a person will upload a file.
我的JavaScript代码:

 $( "form" ).submit(function( event ) {
      var file = $('input[type=file]').val().replace(/C:\\fakepath\\/i, '');
      $.post("receive.php", {FFname:FFname,LLname:LLname,file:file});
}); 

是否有一种方法可以获取JavaScript文件并将其传递给PHP,然后PHP将使用PHPmailer将其发送到电子邮件

我得到了多重附件的代码,并将其发送到电子邮件

for( $ct=0; $ct < count($_FILES['userfile']['tmp_name']); $ct++){

    $uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));

    $filename =$_FILES['userfile']['name'][$ct];

    if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
        $mail->addAttachment($uploadfile, $filename);
    }
} 
for($ct=0;$ctaddAttachment($uploadfile,$filename);
}
} 

我通过使用表单提交作为验证来解决问题

$( "form" ).submit(function( event ) 
{
 var x = 0;
 var fname = document.getElementById("fname");
 var errr="";
 var lname = document.getElementById("lname");

if (fname == "")
 errr = "first name";
else
  x++;

if (lname == "")
 errr = errr+ " last name";
else
  x++;

if(x==2)
{

   $('concatname').val = fname+" "+lname;

   event.Default(); //go in sample.php

} 

else{

alert("please fill your "+errr );
   event.preventDefault(); //validation

}

});
//以我的html格式

<form action='sample.php'>

<input type="text" id="fname" name="fname">

<input type="text" id="lname" name="lname">

<input type="text" id="concatname" name="concatname" hidden>

<input type="submit">

在我的sample.php中

我要求提供所有数据和附件

$name = $_REQUEST['concatname'];

 $mail->body($name);

for( $ct=0; $ct < count($_FILES['userfile']['tmp_name']); $ct++){

$uploadfile = tempnam(sys_get_temp_dir(), sha1($_FILES['userfile']['name'][$ct]));

$filename =$_FILES['userfile']['name'][$ct];

if (move_uploaded_file($_FILES['userfile']['tmp_name'][$ct], $uploadfile)) {
    $mail->addAttachment($uploadfile, $filename);
}} 
$name=$\u请求['concatname'];
$mail->body($name);
对于($ct=0;$ctaddAttachment($uploadfile,$filename);
}} 

本手册中有一点是众所周知的,将其分为两个不同的任务,首先您可能需要发送一封电子邮件(),然后了解如何从js上传,然后将其附加到您的电子邮件。您需要在提交的底部添加
event.preventDefault()
。此外,您还需要在PHP页面上测试isset($\u POST['FFname'])。我假设这就是您要发布到的页面,带有
$mail
对象。顺便说一句,我们不知道这是从哪里来的。谢谢你们的帮助。