我对这个问题真的很绝望。我已经找到了一些考虑这个问题的其他线程,但我没有为我找到解决方案。
我想上传一个mp3 / mp4文件。但是根据我目前的解决方案,只有图片正在上传。
这个问题只是关于上传mp3 / mp4文件的核心功能 - 我有意识地排除了任何安全检查或类型。
PHP:
if(move_uploaded_file($_FILES["file"]["tmp_name"], "uploads/" . $_FILES['file']['name']))
{
echo "Successfully Uploaded Images";
}
else
{
echo "Error while uploading";
}
JS:
file = this.files[i];
if (window.FileReader) {
reader = new FileReader();
reader.onloadend = function(e) {
//showUploadedItem(e.target.result, file.fileName);
};
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("file", file);
}
if (formdata)
{
$.ajax(
{
url: "upload.php",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function(res)
{
document.getElementById("response").innerHTML = res;
}
});
}
修改 我已经将upload_max_filesize设置为32 MB。
我从服务器得到了这个回复:
( ! ) Notice: Undefined index: file in C:\wamp\www\musicplayer_www\public_html\4_upload\upload.php on line 3
Call Stack
# Time Memory Function Location
1 0.0022 134720 {main}( ) ..\upload.php:0
( ! ) Notice: Undefined index: file in C:\wamp\www\musicplayer_www\public_html\4_upload\upload.php on line 3
Call Stack
# Time Memory Function Location
1 0.0022 134720 {main}( ) ..\upload.php:0
编辑2: HTML表单:
<div id="main">
<h1>1. upload track to ftp</h1>
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="images" id="images" multiple/>
<button type="submit" id="btn" class="btn btn-default">Upload Files!</button>
</form>
<div id="response"></div>
</form>
</div>
编辑3: 在参考this时,我们还需要考虑一些限制:
post_max_size
upload_max_filesize
memory_limit
因此,布鲁斯基的思想正朝着正确的方向发展。
答案 0 :(得分:2)
我认为你的mp3,mp4文件太大了,你可以在php.ini中查看Maximum allowed size for uploaded file
,默认你可以用2Mb上传文件,更改upload_max_filesize
并重启你的服务器
答案 1 :(得分:2)
使用以下内容:
var data = new FormData();
jQuery.each(jQuery('#file')[0].files, function(i, file) {
data.append('file-'+i, file);
});
jQuery.ajax({
url: 'upload.php',
data: data,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function(data){
alert(data);
}
});