MP3 / MP4 PHP 上传失败
MP3 / MP4 PHP upload doesn't work
这个问题我真的很绝望。我已经找到了一些考虑这个问题的其他线程,但我没有找到适合我的解决方案。
我想上传 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_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_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
所以bluesky的思路是对的
我认为你的 mp3,mp4 文件太大,你可以在 php.ini 中检查 Maximum allowed size for uploaded file
,默认你可以上传 2Mb 的文件,更改 upload_max_filesize
并重新启动你的服务器
使用以下内容:
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);
}
});
这个问题我真的很绝望。我已经找到了一些考虑这个问题的其他线程,但我没有找到适合我的解决方案。
我想上传 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_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_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
所以bluesky的思路是对的
我认为你的 mp3,mp4 文件太大,你可以在 php.ini 中检查 Maximum allowed size for uploaded file
,默认你可以上传 2Mb 的文件,更改 upload_max_filesize
并重新启动你的服务器
使用以下内容:
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);
}
});