gpt4 book ai didi

php - 无法使用 $ajax() 在 PHP 中上传文件

转载 作者:行者123 更新时间:2023-12-01 08:34:04 26 4
gpt4 key购买 nike

我试图使用 php 和 jQuery 的 ajax() 函数在服务器上上传文件。下面是我正在尝试的代码。当我在同一页面上编写 PHP 代码而不使用 jQuery 时,一切正常,因此毫无疑问文件上传工作正常。

HTML


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(function() {
$("form").submit(function(e){
e.preventDefault();

var fd = new FormData();
fd.append("files", $("#fileinput").prop("files"));
$.ajax({
url: "imgupload_.php",
type:"POST",
processData: false,
contentType: false,
data: fd,
success: function(result){
alert(result);
}
});
});
});
</script>
<form method="POST" action="#" enctype="multipart/form-data">
<input type='file' name='files' id="fileinput"/>
<input type='submit' value='Submit' name='submit'/>
</form>

imgupload_.php

if(isset($_POST["submit"])) {
$target_dir = "images/";
$target_file = $target_dir . basename($_FILES["files"]["name"]);

if (move_uploaded_file($_FILES["files"]["tmp_name"], $target_file)) {
echo "The file ". basename( $_FILES["files"]["name"]). " has been uploaded.";
} else {
echo "Sorry, there was an error uploading your file.";
}
}

如果您需要任何其他信息,请在下面评论。

最佳答案

您正在检查 if(isset($_POST["submit"])) 但尚未设置。

不仅仅是这个:

var fd = new FormData();

使用它来提取任何非文件输入值(例如您的提交按钮。)

var fd = new FormData(this);

关于php - 无法使用 $ajax() 在 PHP 中上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58920220/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com