使用javascript将文件发送到php然后发送到电子邮件的正确代码是什么?
我用的是PHPMailer 我的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
$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
对象。顺便说一句,我们不知道这是从哪里来的。谢谢你们的帮助。