我在互联网上关注了如何使用HTML5,Javascript和PHP创建上传表单。当我尝试上传时,我上传小文件很好,但是如果我输入更大的文件,它会给我一个错误。我想我的第一个错误是因为IIS没有被配置为上传大文件,所以我解决了这个问题,从那时起,每当我尝试从PHP获取文件时,我都没有收到任何东西。我得到空的参数。下面是我的一些代码片段:上传文件大小问题(HTML5,Javascript,PHP)
HTML:
<form id="upload_form" enctype="multipart/form-data" method="post">
<input type="file" name="file1" id="file1"><br>
<input type="button" value="Upload File" onclick="uploadFile()">
<progress id="progressBar" value="0" max="100" style="width:300px;"></progress>
<h3 id="status"></h3>
<p id="loaded_n_total"></p>
</form>
的JavaScript:
function uploadFile(){
var file = _("file1").files[0];
var formdata = new FormData();
formdata.append("file1", file);
var ajax = new XMLHttpRequest();
ajax.upload.addEventListener("progress", progressHandler, false);
ajax.addEventListener("load", completeHandler, false);
ajax.addEventListener("error", errorHandler, false);
ajax.addEventListener("abort", abortHandler, false);
ajax.open("POST", "file_upload_parser.php");
ajax.send(formdata);
}
PHP:
<?php
$fileName = $_FILES["file1"]["name"];
$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, "savefiles/$fileName")){
echo "$fileName upload is complete";
} else {
echo "move_uploaded_file function failed";
}
?>
什么是处理大上载的最好方式文件?我正在寻找一种方式来上传2GB左右的文件。
只是让你知道这不是我投票的答案。我从来没有说过我的回答是最好的,但如果这只是OP的一个简单的家庭项目,而不是使用plupload进行额外的工作,那么OP可能不会做什么,只要他/她将会使用它而不是简单地更改上传大小限制是没有问题的。你的方式可能是正确的方式,但现在OP有几个选项,并可以为给定的情况选择最好的一个。 – elitechief21