PHP не получает файлы, загруженные через FormData - PullRequest
0 голосов
/ 01 октября 2018

У меня есть несколько разных страниц на моем сайте, которые позволяют пользователям загружать файлы на сервер.Они загружаются через JQuery AJAX с использованием FormData в файл php, который затем обрабатывает их и сохраняет.Вот пример используемого ajax:

$('#form1').on('submit', function (e) {
    e.preventDefault();
    $.ajax({
        url: 'upload.php',
        type: 'post',
        data: new FormData($(this)[0]),
        cache: false,
        contentType: false,
        processData: false,
        success: function(result) {
            $("#result").html(result);
        }
    });
});

В файле upload.php у меня есть код, который проверяет, существует ли файл $_FILES["fileToUpload"]["tmp_name"], а затем использует move_uploaded_file() для его сохранения.Это работало отлично в течение достаточно долгого времени, но внезапно я пришел сегодня, и все загрузки файлов по сайту просто не работают.Когда я пытаюсь var_dump($_POST) и var_dump($_FILES) в upload.php, они оба являются просто пустыми массивами, а это означает, что почтовый запрос фактически не отправляет данные формы?

Я пробовал это и в FireFox, и в Chrome, ирезультат тот же.Кроме того, у меня нет доступа к конфигам apache, but phpinfo() показывает, что у меня есть file_uploads: On, max_file_uploads: 20, upload_max_filesize: 512M (что намного больше, чем файл, который я пытаюсь загрузить), и upload_temp_dir: no value,Мне интересно, может быть, это upload_temp_dir может быть причиной проблемы, но я не знаю, было ли это так, как раньше.

Есть идеи, почему это может не сработать?

РЕДАКТИРОВАТЬ: Вот изображение моих инструментов разработчика Chrome, показывающее «полезную нагрузку» запроса.payload

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