Загрузка большого размера файла - Использование PHP - PullRequest
1 голос
/ 12 апреля 2020

Я пытаюсь загрузить большой файл, но проблема в том, что я получаю ошибку, и файл не загружается. Я понятия не имею, в чем проблема с моим кодом. Но загружается файл небольшого размера, но файл большого размера не загружается. Пожалуйста, помогите мне с этой проблемой.

ПРИМЕЧАНИЕ: Файл, который я хочу загрузить, составляет 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, пожалуйста, помогите мне с этой проблемой. :( Я не знаю, что делать. Большое спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...