我正在尝试使用AJAX和HTML5来处理从客户端计算机到服务器上的文件夹的文件上传。
此时,用户可以在他们的机器上浏览文件并选择它。单击upload按钮是为了执行完成文件上传所需的脚本,这就是我遇到问题的地方。我不确定如何使用upload.php脚本继续编写此文件上传功能的代码。
我的问题是,假设服务器上的文件夹名为docs。在用户单击upload按钮后,如何将用户选择的文件下载到servers 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>发布于 2013-03-13 07:49:31
我相信这段代码应该适用于你的设置。基本上,它会检查您是否在第一个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);
},https://stackoverflow.com/questions/15374223
复制相似问题