gpt4 book ai didi

php - 使用 AJAX/HTML 5 上传文件

转载 作者:行者123 更新时间:2023-12-02 18:55:47 25 4
gpt4 key购买 nike

我正在尝试使用 AJAX 和 HTML5 来处理从客户端计算机到服务器上的文件夹的文件上传。

现在用户可以在其计算机上浏览文件并选择它。单击 upload 按钮应该执行完成文件上传所需的脚本,这就是我陷入困境的地方。我不确定如何使用 upload.php 脚本继续编码此文件上传功能的功能。

我的问题是,假设服务器上的文件夹名为 docs。用户单击上传按钮后,如何将用户选择的文件下载到服务器 docs 文件夹?

我很感激任何建议。

非常感谢!

JQuery

    $.ajax({
url: 'upload.php', //server script to process data
type: 'POST',
xhr: function() { // custom xhr
myXhr = $.ajaxSettings.xhr();
if(myXhr.upload){ // check if upload property exists
myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // for handling the progress of the upload
}
return myXhr;
},
//Ajax events
success: function(data){
alert("OK");
$('body').html(data);
},
// Form data
data: formData,
//Options to tell JQuery not to process data or worry about content-type
cache: false,
contentType: false,
processData: false

});

HTML

    <form enctype="multipart/form-data">
<input name="file" type="file" />
<input type="button" value="Upload" />
</form>
<progress></progress>

最佳答案

我相信这段代码应该适合您的设置。基本上它会检查您是否在第一个 if 语句中上传某些内容。然后它检查第二条语句中该文件是否存在。如果没有,则会将文件移动到上传文件夹中。

<?php
if ($_FILES["file"]["name"] != NULL) {
if (file_exists("upload/" . $_FILES["file"]["name"]))
echo $_FILES["file"]["name"] . " already exists. ";
else
move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES["file"]["name"]);
}
?>

请记住,.php 脚本需要正确的权限以及您将其放入的文件夹。我相信 766 应该做到。

您还应该向您的 ajax 添加一个错误。成功后请添加以下内容

error : function(XMLHttpRequest, textStatus, errorThrown) {
console.log('An Ajax error was thrown.');
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
},

关于php - 使用 AJAX/HTML 5 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15374223/

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