$_FILES приходит пустой

419
28 декабря 2016, 06:23

Проблема в заголовке.

Настройки php.ini

file_uploads On
max_file_uploads 192M
upload_max_filesize 192M
upload_tmp_dir /tmp

Форма:

<form action="#" class="form" enctype="multipart/form-data">
  <input name="MAX_FILE_SIZE" value="30000" type="hidden">
    <label>
        <span>Ваше имя</span>
        <input name="name" required="" type="text">
    </label>
    <label>
        <span>Ваш телефон</span>
        <input name="phone" required="" type="text">
    </label>
    <label class="file-label">
        <span>Прикрепить файл</span>
        <input name="file" id="file" type="file">
    </label>
    <button class="btn">Отправить</button>
</form>

JS:

$("form.form").on("submit", function(e){
    e.preventDefault();
    var form = $(this),
        data = $(this).serialize(),
        url = 'mail.php';
    $.ajax({
            type: 'POST',
            url: url,
            data: data,
            cache: false,
            async: false,
            contentType: false,
            processData: false,
            mimeType: "multipart/form-data",
            dataType : "json"
            }).done(function( msg ) {
                console.log(msg);
                setTimeout(function(){
                    form.trigger("reset");
                }, 3000);
            });
        });

PHP:

$uploaddir = $_SERVER['DOCUMENT_ROOT'].'/uploads/';
$uploadfile = $uploaddir.$_FILES['file']['name'];
move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile);
Answer 1

В общем, используйте FormData

Вместо

data = $(this).serialize(),

будет

data = new FormData(this);

А еще бессмысленно писать async: false,. AJAX затем и делается, чтоб быть асинхронным

READ ALSO
Удаление данных из БД по отправленному запросу из ajax

Удаление данных из БД по отправленному запросу из ajax

Имеется код получение данных из json файла, и заполнения таблицы данными где напротив каждой строки имеется кнопка удаления, id которой получаю...

485
Как заставить php разрешать пути через htaccess?

Как заставить php разрешать пути через htaccess?

Есть файлhtaccess в корневом каталоге сайта, в котором, среди прочего указаны следующие перенаправления:

419
Yii2, не устанавливается title страницы

Yii2, не устанавливается title страницы

Пытаюсь установить title во view, делаю это вот так

429
Таблица для графика цен

Таблица для графика цен

ЗдравствуйтеСейчас вот такая структура:

410