我目前在一个网站上工作,该网站将用户附件邮寄给网站所有者。但是,我使用表单将图像文件提交到邮件PHP文件然后发送电子邮件。它完美地工作,直到我用Javascript覆盖表单提交功能并使用ajax提交它并从邮件PHP文件获取输出以添加一些额外的功能。
<form id="contactForm" action="php/sendcontactusmail.php" method="post" enctype="multipart/form-data">
<div class="row">
<div class="col-md-6">
<!-- Additional Codes for email input and subject inputs -->
<div class="form-group">
<label for="subject" id="uploadImageLabelId">Upload Pictures of the Job</label>
<form enctype="multipart/form-data" >
<input type="file" name="fileToUpload" id="imageUploadInputId" accept="image/*" id="fileToUpload" multiple>
</form>
</div>
<!-- Additional Codes for Message inputs and others -->
<div class="col-md-12">
<button type="submit"class="btn btn-primary pull-right" id="btnContactUs">Send Message</button>
</div>
</div>
</div>
</form>
Javascript代码:
$("#contactForm").submit(function(){
$.ajax({
type:"POST",
url : "php/sendcontactusmail.php",
dataType:"json",
data: $("#contactForm").serialize(),
success: function (data)
{
alert(data);
}
});
return false;
});
**我的问题**
PHP代码:
if(filter_var($_POST["subject"], FILTER_SANITIZE_STRING)=="estimate")
{
if($_POST && isset($_FILES['fileToUpload']))
{
// Some Codes to send email
}
else
echo json_encode(isset($_FILES['fileToUpload']));
}
else
{
// Some codes for send separate email.
}
当我运行程序时,警告框显示为false。这显然意味着isset($ _ FILES [&#39; fileToUpload&#39;])函数返回false。我尽力解决这个问题。但无法找到问题所在。任何猜测?
注意
当我在本地服务器上运行网站时,我选择了兼容的jpg文件。但它说文件没有设置。
更新
我经历了很多stackoverflow问题,他们的解决方案都没有给我一个真正的回复声明。希望这不是一个重复的问题。