我正试图在我的php服务器上上传大约200 my的大文件,我已经将我的php.ini文件配置为:-
upload_max_filesize = 9000M我使用了纯ajax :-
function _(el){
return document.getElementById(el);
}
function uploadFile(){
var file = _("file1").files[0];
var formdata = new FormData();
formdata.append("file1", file);
var ajax = new XMLHttpRequest();
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false)
ajax.open("POST", "index.php");
ajax.send(formdata);
}
function completeHandler(event){
_("status").innerHTML = event.target.responseText;
_("progressBar").value = 0;
}
function errorHandler(event){
_("status").innerHTML = "Upload Failed";
}
function abortHandler(event){
_("status").innerHTML = "Upload Aborted";
} 我的Php代码:-
<?php
$fileName = $_FILES["file1"]["name"]; e
$fileTmpLoc = $_FILES["file1"]["tmp_name"];
$fileType = $_FILES["file1"]["type"];
$fileSize = $_FILES["file1"]["size"];
$fileErrorMsg = $_FILES["file1"]["error"];
if (!$fileTmpLoc) {
echo "ERROR: Please browse for a file before clicking the upload button.";
exit();
}
if(move_uploaded_file($fileTmpLoc, "uploads/$fileName")){
echo "$fileName upload is complete";
} else {
echo "move_uploaded_file function failed";
}
?>问题:当我上传文件较少或等于7MB时,我的文件将被成功上传,但是当我试图上传大文件时,我会出错
错误:-
Notice: Undefined index: file1 in C:\wamp\www\test\index.php on line 2
Notice: Undefined index: file1 in C:\wamp\www\test\index.php on line 3
Notice: Undefined index: file1 in C:\wamp\www\test\index.php on line 4
Notice: Undefined index: file1 in C:\wamp\www\test\index.php on line 5
Notice: Undefined index: file1 in C:\wamp\www\test\index.php on line 6
ERROR: Please browse for a file before clicking the upload button.
Uploaded 34209942 bytes of 34209942我为何要面对这个问题呢?我该如何解决这个问题?如何使用ajax上传高达200 How的文件?
请不要推荐我使用JQUERY或任何其他外部LIBS或框架
发布于 2018-07-15 04:59:35
尝试在post_max_size中编辑php.ini指令。可能是您的服务器不允许超过7Mb的后请求,并且由于这一点,$_FILES["file1"]变量不存在。
https://stackoverflow.com/questions/51345325
复制相似问题