我正在尝试使用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>
答案 0 :(得分:2)
我相信此代码适用于您的设置。基本上它会检查你是否在第一个if语句中上传了一些内容。然后它检查文件是否存在于第二个语句中。如果没有,则将文件移动到uploads文件夹中。
<?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);
},