Php AJAXjQueryPost方法中如何通过文件传递数据

Php AJAXjQueryPost方法中如何通过文件传递数据,php,jquery,ajax,Php,Jquery,Ajax,如何通过jQuery post ajax方法在Php中上传图像?我以简单的方式尝试了这段代码,但它并没有显示在文件数据中,也并没有存储在目录中,甚至它存储在数据库中。它的所有数据都以表格形式传递 <form id="Myform5" method="POST" action="" enctype="multipart/form-data"> <label >Class</l

如何通过jQuery post ajax方法在Php中上传图像?我以简单的方式尝试了这段代码,但它并没有显示在文件数据中,也并没有存储在目录中,甚至它存储在数据库中。它的所有数据都以表格形式传递

        <form  id="Myform5" method="POST" action="" 
       enctype="multipart/form-data">
                              <label >Class</label>
                           <select name="type" id="Class">
                           <option >Choose option</option>
                           <option value="Matric">Matric</option>
                            </select>
                             <input  type="text" id="Institute_Name" >
                                 <label >Institute Name</label>
                            <input type="text"  id="Board_Name">
                            <label  >Board Name</label>
                            <div class="form-group">
                            <label>Starting Year</label>
                         <select name="type" id="Starting_Year" >
                              <option >Select year</option>
                              <option value="1950">1950</option>
                         </select>

                                <label>Ending Year</label>
                                <select name="type" id="Ending_Year" >
                               <option >Select year</option>
                               <option value="1950">1950</option>
                                </select>

                     <input  type="text" id="Total_Marks" >
                         <label>Total Marks</label>
                  <input  type="text" id="Obtained_Marks" >
                  <label >Obtained Marks</label>

                                <label>Result_Card</label>
                      <input type="file" id="Result_Card" 
                    id="file"  class="inputbox" placeholder="Default Input">

                      <textarea  id="Awards_Honors" type="text" ></textarea>
                              <label >Awards & Honors</label>
                  <textarea  id="Co-curricular" type="text"  ></textarea>
                              <label >Co-curricular</label>
                   <textarea   id="Additional_Info" type="text" ></textarea>
                              <label >Additional Info</label>
                      <button  type="button"  id="button4" >
现在我给出这一页的php

  if (isset($_POST['Class']) && 
          isset($_POST['Institute_Name']) &&    isset($_POST['Board_Name']) 
      && isset($_POST['Starting_Year']) && isset($_POST['Ending_Year'])  
        && isset($_POST['Total_Marks']) &&  isset($_POST['Obtained_Marks'])
          &&  isset($_POST['filename']) && isset($_POST['Awards_Honors']) &&
      isset($_POST['Co_curricular']) ){
     /*Uploading FIle OF Image or other in jpg jpeg png size 2 MB */
                                         $errors= array();
                            $file_name = $_FILES['filename']['name'];
                            $file_tmp =$_FILES['filename']['tmp_name'];
                            $file_type=$_FILES['filename']['type'];   

   $file_ext=strtolower(end(explode('.',$_FILES['filename']['name'])));    

    $expensions=   array("jpeg","jpg","png","txt","pdf","docx","bmp",
                                          "gif","jpeg","jpg");     

    if(in_array($file_ext,$expensions)=== false){
            $errors[]="extension not allowed, please choose a 
      JPEG,txt,pdf,docx,bmp,gif,jpeg,jpg or PNG file.";
                                        }
      if(empty($errors)==true){

      move_uploaded_file($file_tmp,"files/".$file_name);
                  echo "Image Uploaded Successfully";     
                                        }else{
                                            print_r($errors);
                                        }echo"<br />";
                 $Class = $_POST['Class'];
                 $Institute_Name= $_POST['Institute_Name'];
                 $Board_Name = $_POST['Board_Name'];
                 $Starting_Year= $_POST['Starting_Year'];
                 $Ending_Year = $_POST['Ending_Year'];
                 $Total_Marks= $_POST['Total_Marks'];
                 $Obtained_Marks = $_POST['Obtained_Marks'];
                 $filename = $_POST['filename'];
                 $Awards_Honors = $_POST['Awards_Honors'];
                 $Co_curricular = $_POST['Co_curricular']; 
                 $Additional_Info = $_POST['Additional_Info'];                     
               $sql=" INSERT INTO `secondary level` 
               (`Class`,`Institute_Name`, `Board_Name`, `Starting_Year`,
              `Ending_Year`, `Total_Marks`, `Obtained_Marks`, `Result_Card`,
                `Awards_Honors`, `Co-curricular`, `Additional_Info`) VALUES
                ( '$Class', '$Institute_Name', '$Board_Name', 
                  '$Starting_Year', '$Ending_Year', '$Total_Marks',
              '$Obtained_Marks','$filename','$Awards_Honors',
                '$Co_curricular ','$Additional_Info' )";

          if ($conn->query($sql) === TRUE) {
          echo "New record created successfully";
        } else {
       echo "Error: " . $sql . "<br>" . $conn->error;
       }}
if(isset($_POST['Class'])&
isset($_POST['Institute_Name'])和isset($_POST['Board_Name']))
&&isset($_POST['开始_年])&isset($_POST['结束_年])
&&isset($_POST['Total_Marks'])和&isset($_POST['acquired_Marks']))
&&isset($_POST['filename'])和&isset($_POST['Awards\u honories']))&&
isset($_POST['Co_课程]])){
/*上传jpg jpeg png大小为2 MB的图像或其他文件*/
$errors=array();
$file\u name=$\u FILES['filename']['name'];
$file\u tmp=$\u FILES['filename']['tmp\u name'];
$file\u type=$\u文件['filename']['type'];
$file_ext=strtolower(结束(分解('.',$_文件['filename']['name']));
$expensions=数组(“jpeg”、“jpg”、“png”、“txt”、“pdf”、“docx”、“bmp”,
“gif”、“jpeg”、“jpg”);
if(在数组中($file\u ext,$expensions)==false){
$errors[]=“不允许扩展名,请选择一个扩展名。”
JPEG、txt、pdf、docx、bmp、gif、JPEG、jpg或PNG文件。“;
}
if(空($errors)=true){
移动上传的文件($file\u tmp,“files/”$file\u name);
echo“图像上传成功”;
}否则{
打印错误($errors);
}回声“
”; $Class=$_POST['Class']; $Institute\u Name=$\u POST['Institute\u Name']; $Board\u Name=$\u POST['Board\u Name']; $Starting_Year=$_POST['Starting_Year']; $Ending_Year=$_POST['Ending_Year']; $Total_Marks=$_POST['Total_Marks']; $Acquired_Marks=$_POST['Acquired_Marks']; $filename=$_POST['filename']; $Awards\u Honors=$\u POST['Awards\u Honors']; $Co_课程=$_职位['Co_课程]; $Additional_Info=$_POST['Additional_Info']; $sql=“插入到“二级”中” (`Class`、`Institute\u Name`、`Board\u Name`、`Starting\u Year`、, `年末、`总分'、`获得分'、`成绩卡', `奖励“荣誉”、“合作课程”、“附加信息”价值观 (“$Class”、“$Institute\u Name”、“$Board\u Name”, “$起始年”、“$结束年”、“$总分”, “$Acquired_Marks”、“$filename”、“$Awards_荣誉”, “$Co_课程”和“$Additional_信息”); if($conn->query($sql)==TRUE){ echo“新记录创建成功”; }否则{ echo“Error:”.$sql.“
”$conn->Error; }}
只需为表单中的每个元素提供名称属性,并将“输入类型”按钮更改为“提交”,然后使用以下命令:

$("#Myform5").submit(function(a){
    a.preventDefault();
    var formData = new FormData(this);
   $.ajax({
                type:'POST',
                url: 'view2.php',
                data:formData,
                cache:false,
                success:function(data){
                console.log(data);
                location.reload();
                },
                error: function(data){
                console.log(data);
                }
            });

});

这可能会上载图像而不在本地计算机上发布您的文本数据,但它将在web服务器上运行。

我认为在发布整个代码之前,您应该检查“如何提问”。对不起,亲爱的,我是stackoverflow的新手,但您检查问题我告诉您的内容没问题,您是新手。。。但在发布问题之前,有一个链接“如何提问”,如果你想让别人回答你的问题,你应该阅读它。应该问清楚,你应该直截了当地说。没有人能修复你的全部代码。我只是想帮你不要冒犯谢谢你给出了这段代码,我想用简单的方法来尝试上面的代码,而不是用新的form()对象。这是最简单的方法。使用此代码不必更改后端文件。
$("#Myform5").submit(function(a){
    a.preventDefault();
    var formData = new FormData(this);
   $.ajax({
                type:'POST',
                url: 'view2.php',
                data:formData,
                cache:false,
                success:function(data){
                console.log(data);
                location.reload();
                },
                error: function(data){
                console.log(data);
                }
            });

});