Проблема в заголовке.
Настройки 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);
В общем, используйте FormData
Вместо
data = $(this).serialize(),
будет
data = new FormData(this);
А еще бессмысленно писать async: false,
. AJAX затем и делается, чтоб быть асинхронным
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеется код получение данных из json файла, и заполнения таблицы данными где напротив каждой строки имеется кнопка удаления, id которой получаю...
Есть файлhtaccess в корневом каталоге сайта, в котором, среди прочего указаны следующие перенаправления: