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