Добрый день!
Подскажите пожалуйста, файл через js загружается на сервер - здесь все ОК, а как его еще и передать вложенным на почту?
Поле для выбора файла:
<input type="file" multiple="multiple" accept=".txt,image/*">
<a href="#" class="upload_files button">Загрузить файлы</a>
<div class="ajax-reply"></div>
JS
var files;
$('input[type=file]').on('change', function(){
files = this.files;
});
$('.upload_files').on( 'click', function( event ){
event.stopPropagation();
event.preventDefault();
if( typeof files == 'undefined' ) return;
var data = new FormData();
$.each( files, function( key, value ){
data.append( key, value );
});
data.append( 'my_file_upload', 1 );
$.ajax({
url : '/send-files/submit.php',
type : 'POST',
data : data,
cache : false,
dataType : 'json',
processData : false,
contentType : false
});
});
PHP
<?php
if( isset( $_POST['my_file_upload'] ) ){
$uploaddir = './uploads';
if( ! is_dir( $uploaddir ) ) mkdir( $uploaddir, 0777 );
$files = $_FILES;
$done_files = array();
foreach( $files as $file ){
$file_name = $file['name'];
if( move_uploaded_file( $file['tmp_name'], "$uploaddir/$file_name" ) ){
$done_files[] = realpath( "$uploaddir/$file_name" );
}
}
$data = $done_files ? array('files' => $done_files ) : array('error' => 'Ошибка загрузки файлов.');
die( json_encode( $data ) );
}
В целом задача такая - есть еще форма (калькулятор) и под ней кнопка "Выбрать файл", при нажатии на кнопку "Отправить" вылазит всплывающее окно с Именем и Емейлом, в скрытые поля через JS подгружаются данные из формы с калькулятором. Нужно отправить на почту и данные из калькулятора и если есть вложенный файл и Имя с Емейлом из всплывающего.
Отдельно форма (без файла) + Емейл с Именем из всплывающего на почту отправляются. (Отдельные файлы с кодом)
Но как объединить отправку и файла и всех данных? (Сверху код только для загрузки файла на сервер)