Javascript PHP将文件上传到联系人表单并通过电子邮件发送
我需要在联系人表单中添加一个部分,供人们上传他们的信息(PDF或图片(JPG/PNG/ETC))。我得到了上传文件的部分,但它没有将PDF与电子邮件一起发送(电子邮件工作正常,但它到达时没有上传文件,我不知道为什么)。我会把我的HTML/PHP代码,所以如果你能帮我知道哪里是问题,或者我如何实现上传文件,这将是伟大的 HTMLJavascript PHP将文件上传到联系人表单并通过电子邮件发送,javascript,java,php,html,email,Javascript,Java,Php,Html,Email,我需要在联系人表单中添加一个部分,供人们上传他们的信息(PDF或图片(JPG/PNG/ETC))。我得到了上传文件的部分,但它没有将PDF与电子邮件一起发送(电子邮件工作正常,但它到达时没有上传文件,我不知道为什么)。我会把我的HTML/PHP代码,所以如果你能帮我知道哪里是问题,或者我如何实现上传文件,这将是伟大的 HTML 名称 姓 邮寄 有问题吗? 上载文件 发送 PHP 但是它没有上传文件,我不知道为什么 我可以告诉你原因: 您没有将文件附加到邮件 你只发送文本 有关如何执行此操作的
名称
姓
邮寄
有问题吗?
上载文件
发送
PHP
但是它没有上传文件,我不知道为什么 我可以告诉你原因: 您没有将文件附加到邮件 你只发送文本 有关如何执行此操作的一些解决方案,请访问此线程,该线程将解释如何使用和不使用phpmailer执行此操作
如果你想使用
mail()
功能,请仔细阅读回复。我建议使用PHP邮件。我看不到
任何地方。您可能希望以任何方式动态创建该元素,只需单击它而不查看它。一旦有了FormDateInstance.append(你的文件),你就需要FormDateInstance.append(你的文件)
。伪代码:const fd=new FormData,upload=document.querySelector('input[type=file');upload.onchange=function(){if(this.files){const file=this.files[0],name=file.name,dot=name.lastIndexOf('.');if(dot!=-1&&name.slice(dot.toLowerCase()=='.pdf'){fd.append('fileGlobal',this.files[0],'uploadName.pdf');}
。作为$\u文件['fileGlobal']
访问。关于我最后的评论,顺便说一下,您可以通过XMLHttpRequest
发送FormData
。
<form class="mb-2" action="freetest.php" onsubmit="return validateForm();" method="post">
<div class="form-group">
<div>
<label class="mb-0">Name</label>
</div>
<div class="form-group">
<input class="form-control-input" type="text" id="firstName" name="firstName" placeholder="Your Name" required>
</div>
</div>
<div class="form-group">
<div>
<label class="mb-0">Last Name</label>
</div>
<div class="form-group">
<input class="form-control-input" type="text" id="lastName" name="lastName" placeholder="Amelie" required>
</div>
</div>
<div class="form-group">
<div>
<label class="mb-0">Mail</label>
</div>
<div>
<input class="form-control-input" type="text" name="email" id="yourEmail" placeholder="Example@gmail.com" required>
</div>
</div>
<div class=form-group>
<label class="mb-0">¿Any Question?</label>
<textarea class="form-control-textarea" rows="8" name="message" required></textarea>
</div>
<div class="form-group">
<div>
<label for="file-upload" class="custom-file-upload mt-2"><i class="fas fa-cloud-upload-alt"></i> Upload File</label>
<input id="file-upload" type="file" name="file" multiple="multiple" required>
</div>
</div>
<button type="submit" class="btn-solid-lg">Send</button>
</form>
<?php
$ToEmail = 'mymail@gmail.com';
$EmailSubject = 'Free test';
$mailheader = "From: ".$_POST["lastName"]."\r\n";
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n";
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n";
$MESSAGE_BODY = "First Name: ".$_POST["firstName"]."<br/>";
$MESSAGE_BODY .= "Last Name: ".$_POST["lastName"]."<br/>";
$MESSAGE_BODY .= "Email: ".$_POST["email"]."<br/>";
$MESSAGE_BODY .= "Comment: ".nl2br($_POST["message"])."";
mail($ToEmail, $EmailSubject, $MESSAGE_BODY, $mailheader) or die ("Failure");
?>