Я пытаюсь загрузить большой файл, но проблема в том, что я получаю ошибку, и файл не загружается. Я понятия не имею, в чем проблема с моим кодом. Но загружается файл небольшого размера, но файл большого размера не загружается. Пожалуйста, помогите мне с этой проблемой.
ПРИМЕЧАНИЕ: Файл, который я хочу загрузить, составляет 117 МБ ПРИМЕЧАНИЕ: Функция загрузки работает, если размер небольшой
Вот мой код
HTML
<form method="post" id="user_form" enctype="multipart/form-data">
<table class="table table-bordered" id="dynamic_field">
<tr id="row1">
<td width="48%" valign="bottom"><input type="text" id="text_video_title[]" name="text_video_title[]" placeholder="Enter your Name" class="form-control name_list" /></td>
<td width="48%" valign="bottom"><input type="file" id="text_video[]" name="text_video[]" placeholder="Enter your Name" class="form-control name_list" /></td>
<td valign="bottom"><button type="button" name="add" id="add" class="btn btn-success btn-xs">Add More</button></td>
</tr>
</table>
<input type="submit" name="action" id="action" class="btn btn-success" value="Add" />
<!-- Progress bar -->
<div class="progress">
<div class="progress-bar"></div>
</div>
<!-- Display upload status -->
<div id="uploadStatus"></div>
</form>
JAVASCRIPT
$(document).on('submit', '#user_form', function(event){
event.preventDefault();
$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.upload.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = ((evt.loaded / evt.total) * 100);
$(".progress-bar").width(percentComplete + '%');
$(".progress-bar").html(percentComplete.toFixed(0)+'%');
var percentComplete1 = evt.loaded / evt.total;
percentComplete1 = parseInt(percentComplete1 * 100);
// console.log(percentComplete1 + "test");
if(percentComplete1 == "100")
{
$('#user_form')[0].reset();
alert(data);
$('#userModal').modal('hide');
dataTable.ajax.reload();
}
}
}, false);
return xhr;
},
url:"insert.php",
method:'POST',
data:new FormData(this),
contentType:false,
processData:false,
beforeSend: function(){
$(".progress-bar").width('0%');
},
error:function(){
alert("ERROR");
},
success:function(data)
{
alert(data);
$('#user_form')[0].reset();
$('#userModal').modal('hide');
dataTable.ajax.reload();
}
});
});
PHP
$number = count($_POST["text_video_title"]);
if($number >= 1)
{
for($i=0; $i<$number; $i++)
{
if(trim($_POST["text_video_title"][$i] != ''))
{
$extension = explode('.', $_FILES['text_video']['name'][$i]);
$new_name = rand() . '.' . $extension[1];
$destination = './video/' . $new_name;
move_uploaded_file($_FILES['text_video']['tmp_name'][$i], $destination);
$statement = $connection->prepare("
INSERT INTO live_demo_videos (title, video, news_id)
VALUES (:text_video_title, :text_video, :text_id)
");
$result = $statement->execute(
array(
':text_video_title' => $_POST["text_video_title"][$i],
':text_video' => $new_name,
':text_id' => $id
)
);
}
}
}
if(!empty($result))
{
echo 'Data Inserted';
}
HTACCESS
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
ErrorDocument 400 /error_pages/400.php
ErrorDocument 401 /error_pages/401.php
ErrorDocument 403 /error_pages/403.php
ErrorDocument 404 /error_pages/404.php
ErrorDocument 410 /error_pages/410.php
ErrorDocument 500 /error_pages/500.php
#Serve .htc files correctly, for IE fixes
AddType text/x-component .htc
php_value upload_max_filesize 300M
php_value post_max_size 301M
php_value max_execution_time 20000
php_value max_input_time 20000
Я не знаю, является ли мой код javascript проблемой или PHP, пожалуйста, помогите мне с этой проблемой. :( Я не знаю, что делать. Большое спасибо