Не могу загрузить некоторые файлы на сервер php, используя ajax - PullRequest
0 голосов
/ 19 января 2020

Я использую ajax файл загрузки из этого ответа Отправка multipart / formdata с jQuery. ajax и JavaScript код выглядит следующим образом:

   function addAiFile(order_id) {
        var data = new FormData();
        data.append('order_id', order_id);
        jQuery.each(jQuery('.ai-file_upload')[0].files, function(i, file) {
            data.append('file-'+i, file);
        });
        var url='<?php echo $addAiFile; ?>';
        url=url.replace(/amp;/g, '');

        console.log(...data)

        jQuery.ajax({
            url: url,
            data: data,
            cache: false,
            processData: false,
            method: 'POST',
            type: 'POST', // For jQuery < 1.9
            success: function(answer){
                $('#ai-modal .modal-body').html(answer);
            }
        });
    }

На FrontEnd, когда я запускаю эту функцию, я получаю правильный результат журнала. Но в BackEnd мой массив $ _FILES пуст. Это происходит только для некоторых файлов, и я не могу найти, что вызывает это.

Вот мой код:

public function addAiFile(){
        $target_dir = "./";
        $target_file = $target_dir . basename($_FILES["file-0"]["name"]);
        $uploadOk = 1;
        $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

        echo $target_file;
        print_r($_FILES);
        echo "<br>" . $_SERVER['CONTENT_LENGTH']/1000000 ; 
        echo "<br>" . ini_get('post_max_size'); 
        echo "<br>" . ini_get('upload_max_filesize');
        print_r(pathinfo($target_file));
        die();
}

Если есть ошибка, php печатает это:

. / - 0.Array ()

34.860443

80M

80M Array ([dirname] => ./ [basename] => - 0. [расширение] => [имя файла] => -0)

Если в файле нет ошибок, я получаю

. / Oaid. png Array ([file-0] => Array ([name] => oaid.png [type] => image / png [tmp_name] => / tmp / php57HOx7 [error] => 0 [size] => 16554) )

0.016836

80M

80M Array ([dirname] => ./ [basename] => oaid.png [extension] => png [filename] => oaid)

Я бы выложил здесь файл в качестве примера, но это 30 МБ. Также важно отметить, что это происходит только для некоторых файлов. Как я могу это исправить?

...