0 Пользователей и 1 Гость просматривают эту тему.
  • 15 Ответов
  • 7510 Просмотров
*

DiEV

  • Новичок
  • 8
  • 0 / 0
Ситуация следующая: приходит только название файла:

Код: php
...
<input type="file" name="your_file" />
...
$mailer -> addAttachment($your_file);
...

Вопрос: как приатачить сам файл к письму? куда копать? где бы почитать? кто бы подсказал? Бьюсь 2 день...
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Ситуация следующая: приходит только название файла:
приходит куда?
и к чему эти 2 строчки хз, мне они ничего не говорят)
*

DiEV

  • Новичок
  • 8
  • 0 / 0
Приходит на почту название файла, а не сам файл.

Изобретение не моё, я просто допиливаю:

helper:
Спойлер
[свернуть]

модуль:
Спойлер
[свернуть]

есть ли смысл выложить шаблон, интерес там представляет только строка <input type="file" name="your_file" /> ?
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
Понятия не имею как работает с прикреплением файлов $mailer = JFactory::getMailer();, но сильно подозреваю, что отправлять файлы не загруженные на сервер он не умеет.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Понятия не имею как работает с прикреплением файлов $mailer = JFactory::getMailer();, но сильно подозреваю, что отправлять файлы не загруженные на сервер он не умеет.
угу
die(var_dump( $your_file )) - что показывает?

хм)
$your_file = JRequest::getVar('your_file', '');
с чего бы он еще отправлялся)
*

DiEV

  • Новичок
  • 8
  • 0 / 0
string(9) "image.jpg", как и ожидалось, имя загружаемого файла.
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
*

DiEV

  • Новичок
  • 8
  • 0 / 0
Как то не верится, что у ждумлы нет своего механизма отправки вложений
*

varX

  • Живу я здесь
  • 2188
  • 132 / 5
  • разработка компонентов
Как то не верится, что у ждумлы нет своего механизма отправки вложений

Как-то не верится, что тут может быть не понятно. По одному имени, функция $mailer->addAttachment($path); ваш файл никак найти не сможет.
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
Как то не верится, что у ждумлы нет своего механизма отправки вложений
Почему нет. Есть. Вот потратил 15 минут. http://api.joomla.org/PHPMailer/PHPMailer.html#AddAttachment. Но при чем тут Joomla. Что вы ей отдаете, то и отправляет. Отдаете строку 'image.jpg', отправляет сроку, отдадите файл, отправит файл. Господа программисты не цепляйтесь к утрированию. Думаю ТС так понятней будет.
*

SmokerMan

  • Гуру
  • 5293
  • 720 / 26
Как то не верится, что у ждумлы нет своего механизма отправки вложений
у ждумлы все есть, только надо уметь этим пользоваться
могу тут только подсказать, что файлы - это не обычные переменные, как делалось выше)
и перед отправкой его нужно сохранять на сервере
*

varX

  • Живу я здесь
  • 2188
  • 132 / 5
  • разработка компонентов
Не надо никакие файлы отдавать и тем более сохранять их на сервере. Нужно серверный путь к файлу указать.
*

passer

  • Завсегдатай
  • 1009
  • 74 / 3
А кстати да. 
Код: php
AddAttachment($_FILES['your_file']['tmp_name'], $_FILES['your_file']['name']);
Наверное сработает.
*

Fedor Vlasenko

  • Живу я здесь
  • 3842
  • 724 / 7
  • Все начинается с Value
Загрузка и обработка файлов
Код: html4strict
<form enctype = "multipart/form-data" action = "index.php" method = "post" name = "adminForm">
  <input type = "file" class = "inputbox" value = "" name = "file_upload">
  <input class = "btn" type = "submit" value = "Отправить"/>
</form>
Код: php-brief
$file = JFactory::getApplication()->input->files->get('file_upload', null, 'files', 'array');
var_dump( $file );
*

DiEV

  • Новичок
  • 8
  • 0 / 0
Всем спасибо за ответы - буду пробовать - отпишу, что получилось
*

Aleks.Denezh

  • Живу я здесь
  • 3405
  • 426 / 4
Форма:
Код: php
<form  action="index.php" method="post" enctype="multipart/form-data">
  <input type="file" name="files[]" />
  <input type="file" name="files[]" />
  <input type="file" name="files[]" />
...
  <input type="submit" value="Отправить" />
</form>

Код: php
$input = JFactory::getApplication()->input;
$files = $input->files->get( 'files', array(), 'array' );
$config = JFactory::getConfig();
$mailer = JFactory::getMailer();
$mailer->IsHTML( true );
$mailer->setSender( array( $config->get( 'mailfrom' ), $config->get( 'fromname' ) ) );
$mailer->setSubject( 'Тема письма' );
$mailer->addRecipient( 'E-mail получателя' );
$mailer->setBody( 'Текст письма');
if ( count( $files ) ) {
foreach ( $files as $file ) {
$mailer->addAttachment( $file['tmp_name'], $file['name'] ); // аттачим файлы
}
}
$mailer->send(); //отправляем письмо
« Последнее редактирование: 09.06.2013, 13:19:21 от Istaan »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получить данные из поля " file", и передать в файл обработчик

Автор Glog

Ответов: 5
Просмотров: 786
Последний ответ 01.08.2017, 13:55:40
от Glog
вывести данные из модуля с формой Subform form field type

Автор Glog

Ответов: 19
Просмотров: 1086
Последний ответ 22.06.2017, 13:32:07
от Glog
Не подключается языковой файл

Автор b2z

Ответов: 22
Просмотров: 5776
Последний ответ 02.04.2017, 13:27:37
от Septdir
Чем JFactory::getApplication()->input лучше JRequest::getVar()?

Автор Shustry

Ответов: 43
Просмотров: 12309
Последний ответ 13.01.2017, 12:18:41
от Septdir
Звязь с базой через php

Автор Frulin

Ответов: 18
Просмотров: 805
Последний ответ 20.12.2016, 15:06:55
от b2z