PHP Post Form, не могу загружать файлы размером более 25 МБ - PullRequest
0 голосов
/ 07 мая 2019

Итак, я изменил все эти значения в php.ini:

Максимальный размер загружаемого файла = 10000M

Размер отправляемого сообщения = 11000M

Максимальное время исключения = 12000

Максимальное время ввода = 12000

Я также использую форму PHP, которая загружает несколько файлов одновременно: index.php (форма загрузки файла, другой код на странице, для которой требуется бэкенд php)

 <input type="hidden" value="form" name="<?php echo ini_get('session.upload_progress.name'); ?>">
    <div class="upload-btn-wrapper">
      <button class="btn">Drag File / Click to upload</button>

      <input type="file" name="files[]" multiple="multiple" id="fileToUpload">
    </div>

</form>
  document.getElementById("fileToUpload").onchange = function() {
      startUpload();
      setTimeout(function(){document.getElementById("form").submit();}, 1000);
}


</script>

Опять же, я могу нормально загружать нормальные файлы, но большие файлы не работают.вот php код для загрузки файла:

<?php
session_start();
//boi

$max_file_size = 20000000; //2GB
$path = $_SESSION["directory"]."/"; // Upload directory
$count = 0;

if(isset($_POST) and $_SERVER['REQUEST_METHOD'] == "POST"){
    // Loop $_FILES to exeicute all files
    foreach ($_FILES['files']['name'] as $f => $name) {
        if ($_FILES['files']['error'][$f] == 4) {
            continue; // Skip file if any error found
        }
        if ($_FILES['files']['error'][$f] == 0) {
            if ($_FILES['files']['size'][$f] > $max_file_size) {
                $message[] = "$name is too large!.";
                continue; // Skip large files
            }
            else{ // No error found! Move uploaded files
                if(move_uploaded_file($_FILES["files"]["tmp_name"][$f], $path.$name))
                    $count++; // Number of successfully uploaded file
            }
        }
    }
}
    header("location: index.php");
?>

сайт, на котором он находится: http://simpledrive.duckdns.org/simple

спасибо.

1 Ответ

0 голосов
/ 07 мая 2019

Пришло время ответить на мой собственный вопрос, так что оказалось, что в сценарии выгрузки была пара строк кода, которые я написал / скопировал со всего мира.

$max_file_size = 20000000;
if ($_FILES['files']['size'][$f] > $max_file_size) {

Оказывается, ['files']['size'][$f] здесь было массивлей больше, чем $max_file_size. даже установлен на 20000000 .

Спасибо за вашу помощь, ребята.

если честно, я вроде как отсталый (мем-образ)

...