isset($ _ FILES [" attName"])返回false?发送附件附件的电子邮件

时间:2017-06-06 06:32:16

标签: php jquery ajax file-upload ajax-upload

我目前在一个网站上工作,该网站将用户附件邮寄给网站所有者。但是,我使用表单将图像文件提交到邮件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问题,他们的解决方案都没有给我一个真正的回复声明。希望这不是一个重复的问题。

0 个答案:

没有答案