【发布时间】:2021-08-14 15:06:03
【问题描述】:
在 PHP 页面中使用多个表单标签来注册用户信息。 使用 ajax 收集数据并发布到注册 PHP 页面现在我想将图像上传到服务器文件夹但我失败了。
我的html代码:
<label for="upimage" class="btn btn-sm btn-primary mb-75 mr-75">Upload Image</label>
<input type="file" id="upimage" hidden accept="image/*" name="image"/>
Javascript 代码:
let data1 = document.getElementById('data1').value,
data2 = document.getElementById('data1').value,
data3 = document.getElementById('data1').value,
upimage = document.getElementById('upimage').value;
$.ajax({
url:"././newregister.php",
method:"POST",
data:{action:'newregister', data1:data1, data2:data2,
data3:data3, upimage:upimage},
success:function(data){
alert(data);
}
});
新注册php代码:
$uploads_dir = './uploads';
if ($_FILES["file"]["error"] == UPLOAD_ERR_OK) {
$tmp_name = $_FILES["file"]["tmp_name"];
$name = $_FILES["file"]["name"];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
echo "Sucsess";
}
else
{
echo "Error" . $_FILES["file"]["error"] ;
}
ERR:未定义索引:文件在 .... 在线 ....
【问题讨论】:
-
你应该发布一个FormData 对象。
-
我知道,但要在注册 php 文件中管理我的数据,我需要通过数据发送它。
-
你知道如何通过追加或其他方式将这种类型的数据转换为FormData吗?
-
您创建一个 FormData 对象 (new FormData()),然后将值附加到它。另一种方法可能是在html中设置一个表单,类型(方法?)multipart/formdata,并使用提交按钮/功能发布。
标签: javascript php jquery ajax upload