Всем привет! Ребята, может кто-нибудь сможет подсказать что-нибудь?
На сайте есть контактная форма с возможностью прикрепить файлы. Форма рабочая, но файл отправляется только на сервер, но не на почту. Я в PHP не понимаю ничего, но меня поставили перед фактом, что надо сделать. Ломала голову два дня, пробовала подключать разные плагины загрузчики файлов, но все упирается в незнание php(
Буду рада любой помощи и заранее всем спасибо!
Исходная ситуация такая:
html (тут только поле для выбора файла, чтобы не плодить много кода, тк вся остальная форма работает корректно):
<input type="file" id="upl_button" name="foxstdupload" multiple="multiple"/>
<div id='loading'></div>
<div id='upl_status'></div>
js
jQuery(function() {
var btnUpload=jQuery('#upl_button');
var status=jQuery('#upl_status');
new AjaxUpload(btnUpload, {
action: 'uploader.php',
name: 'upl_file',
data: {sid : '<?=session_id()?>'},
onSubmit: function(file, ext){
status.html('');
if (! (ext && /^(jpg|jpeg|png|bmp|gif|pdf|doc|docx|xls|rar|zip)$/.test(ext))){
status.html('Допустимые форматы:'+"<br />"+'jpg, jpeg, png, gif, bmp, pdf, doc, docx, xls, rar, zip');
return false;
}
// $('#file').fadeOut(0);
jQuery('#loading').fadeIn(0);
},
onComplete: function(file, response){
status.html('');
jQuery('#file').html('');
var arr_resp = response.split("#%#");
if(arr_resp[0]==="true"){
jQuery('#loading').fadeOut(0);
//jQuery('span.file input').val(arr_resp[1]);
status.html(arr_resp[1]+' загружен');
// $('#file').attr('src', 'files/' + arr_resp[1]).fadeIn(0);
}else{
jQuery('#loading').fadeOut(0);
status.after(response);
//status.html(response);
//alert(response);
}
}
});
});
uploader.php
<?php
//session_start();
//if(session_id() != $_POST['sid']) die('Access_denied');
$ext = substr($_FILES['upl_file']['name'], 1 + strrpos($_FILES['upl_file']['name'], "."));
$ext = strtolower($ext);
$valid_ext = array('jpg', 'jpeg', 'png', 'gif', 'bmp', 'pdf', 'doc', 'docx', 'xls', 'rar', 'zip'); // допустимые расширения
if(in_array($ext, $valid_ext)){
$filename = time().'.'.$ext;
$path_file = './uploads/'.$filename;
if(($_FILES['upl_file']['size'] != 0 and $_FILES['upl_file']['size']<=200000))
{
if(!copy($_FILES['upl_file']['tmp_name'], $path_file)){
echo 'Файл не загружен. Повторите попытку';
}else{
echo 'true#%#'.$filename; // Возврат статуса загрузки и имени файла
}
}else{
echo 'Размер файла не должен превышать 200Кб.';
}
}else{
echo 'Недопустимый формат файла.';
}
?>
Обработчик формы:
<?php
$date=date("d.m.y");
$time=date("H:i");
$adminemail=$_POST['admin-email'];
$title=$_POST['title'];
$name=$_POST['name'];
$phone=$_POST['phone'];
$email=$_POST['email'];
$usluga=$_POST['usluga'];
$message=$_POST['message'];
$file=$_POST['path'];
$msg="
Имя: $name
Телефон: $phone
email: $email
Услуга: $usluga
Комментарии: $message
Отправлено со страницы: $title
Файл: $file
";
$fam=$_POST['fam'];
$head=$_POST['head'];
$message_text=$_POST['message_text'];
if( ($name != 'Имя:') && ($phone != 'Телефон:') && ($fam == 'Фамилия:') && ($head == 'Заголовок:') && ($message_text == '') ){
mail("$adminemail",
"form-raschet-stoimosti",
"$msg",
"Content-Type: text/plain; charset=utf-8\r\n"."From: SGM\r\n");
}
?>