0
所以我想通过上传发送每个文件到XMLHttpRequest的文件来绕过PHP中的max_post_size(因为我没有访问服务器的php.ini)。 我很喜欢PHP/JS,所以我可能错过了一些非常明显的东西。上传多个文件不起作用
我面临的问题是,文件没有上传和responseText的总打印...
现在这是我的代码的 “Hello World!”:
<?php
if (isset($_FILES['myFile'])) {
// Example:
move_uploaded_file($_FILES['myFile']['tmp_name'], "uploads/" . $_FILES['myFile']['name']);
echo "responseText???";
exit;
}?>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
<input type="file" multiple="multiple" id="filesInput" /> <br/>
<input type="button" id="uploadButton" value="Buton" />
<script type="text/javascript">
function sendFile(file) {
var uri = "/index.php";
var xhr = new XMLHttpRequest();
var fd = new FormData();
xhr.open("POST", uri, true);
xhr.onreadystatechange = function() {
if (xhr.readyState == 4 && xhr.status == 200) {
// Handle response.
//alert(xhr.responseText); // This only prints Hello World...:/
}
};
fd.append('myFile', file);
// Initiate a multipart/form-data upload
xhr.send(fd);
}
$("#uploadButton").on("click", function(){
var files = $('#filesInput').prop('files');
var len = files.length;
for(var i=0; i<len; i++){
$("#uploadFileNames").append(files[i].name + "<br/>");
sendFile(files[i]);
}
});
</script>
PS:部分代码是从Mozilla的网站采取:
你真的可能发送一个普通的POST请求,而不是'multipart/form-data'吗? –
根据这个:http://www.w3schools.com/ajax/ajax_xmlhttprequest_send.asp它确实发送一个POST请求。 评论从我从Mozilla网站复制的代码出现了。 –