Отправка файла из формы через ТДС

#
Отправка файла из формы через ТДС
Помогите с таким вопросом. В 6 версии отправкаписьма сделана по другому,  не могу разобраться. Редакция "Мой сайт". В статическом документе есть страница с формой, один из Input типа file. В NLC код следующий:
<?php

if (Core_Array::getPost('go')) {
    if (Core_Captcha::valid(Core_Array::getPost('captcha_id'), Core_Array::getPost('captcha'))) {
      
      $siteId = Core_Array::get(Core_Page::instance()->libParams, 'site_id');
      $emailTo = Core_Array::get(Core_Page::instance()->libParams, 'admin_email');
   
      $sText = '';
        $sText .= 'Фамилия, Имя, Отчество: ' . Core_Array::getPost('name', '') . chr(10);
      $sText .= 'Возраст: ' . Core_Array::getPost('age', '') . chr(10);
      $sText .= 'Образование: ' . Core_Array::getPost('education', '') . chr(10);
        $sText .= 'Специальность: ' . Core_Array::getPost('special', '') . chr(10);
        $sText .= 'Желаемая должность: ' . Core_Array::getPost('price', '') . chr(10);
        $sText .= 'Контактный телефон: ' . Core_Array::getPost('phone', '') . chr(10);
        $sText .= 'E-mail: ' . Core_Array::getPost('email', '') . chr(10);
        $sText .= 'Информация о себе (в свободной форме): ' . Core_Array::getPost('text', '') . chr(10);
        $sText .= 'dddddd: ' . Core_Array::getPost('resume', '') . chr(10);
        $include_file= Core_Array::getPost('resume', '') . chr(10);
        $file= Core_Array::getPost('resume', '') . chr(10);

      $oCore_Mail_Driver = Core_Mail::instance()
               ->to($emailTo)
               ->from(  Core_Valid::email($emailTo)
                  ? $emailTo
                  : $emailTo
               )
               ->subject('Резюме на вакансии с сайта')
               ->message(trim($sText))
               ->contentType('text/plain')
//               ->header('charset','KOI8-R')
                    ->attach(array(
                        'filepath' => $include_file,
                        'filename' => $file,
                    ))
               ->send();   
               // ->config(array('charset'=>'KOI8-R'))
      if ($oCore_Mail_Driver->getStatus()) {
//         echo $sText;
//         echo $emailTo;
//         echo $siteId;
?>         
         <div class="f-message f-message-success">
            <h2>Информация отправлена успешно</h2>
            <p>
               Спасибо! Информация принята. <br/>
            </p>
         </div><!--f-message -->
<?php
      } else {
?>         
         <div class="f-message f-message-error">
            <h2>Ошибка отправки письма</h2>
            <p>
               К сожалению, Ваша информация не была отправлена, попробуйте отправить ее позже.
            </p>
         </div><!--f-message -->
<?php
      }
?>
      <p><a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Вернуться</a> на предыдущую страницу.</p>
    <?php
    } else {
        ?>
        <div class="f-message f-message-error">
            <h2>Контрольное число введено неверно</h2>
            <p>
                К сожалению, Ваша информация не была отправлена, так как вы ввели не верное контрольное число
            </p>

            <p><a href="<?php echo $_SERVER['HTTP_REFERER']; ?>">Вернуться</a> на предыдущую страницу.</p>
        </div><!--f-message -->
    <?php
    }

}
?>


Текст из Input приходит, как прикрепить выбранный файл не резобрался. Помогите пожалуйста!
Как я понял
->attach(array(
                        'filepath' => $include_file,
                        'filename' => $file,

это как раз прикрепление файла, но как подключить не знаю
#
Re: Отправка файла из формы через ТДС
Как я понял, вам нужно принять файл, который пользователь выбрал в форме и, в качестве аттача, отправить с письмом
У вас в форме, должно быть, есть поле
<input name="resume" type="file">

При выборе файла атрибут value этого поля будет содержать имя отправляемого файла.

1) Для отправки файла нужно (см. http://htmlbook.ru/samhtml5/formy/zagruzka-failov)

  • задать метод отправки данных POST (method="post")
  • установить у атрибута enctype значение multipart/form-data.
<form enctype="multipart/form-data" method="post">


2) В форме желательно указать максимальный размер загружаемого файла (в байтах)
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />


3) На серверной стороне принятые файлы "складируются" во временный каталог, указанный в php.ini, при этом заполняется суперглобальная переменная $_FILES (см. http://php.net/manual/ru/features.file-upload.post-method.php):
    $_FILES['userfile']['name'] -  Оригинальное имя файла на компьютере клиента.
    $_FILES['userfile']['type'] -  Mime-тип файла, в случае, если браузер предоставил такую информацию. Пример: "image/gif". Этот mime-тип не проверяется в PHP, так что не полагайтесь на его значение без проверки.
    $_FILES['userfile']['size'] -  Размер в байтах принятого файла.
    $_FILES['userfile']['tmp_name'] - Временное имя, с которым принятый файл был сохранен на сервере.
    $_FILES['userfile']['error'] - Код ошибки, которая может возникнуть при загрузке файла.

4) Модифицируем ваш код:

  ...
  $oCore_Mail_Driver = Core_Mail::instance()
     ->to($emailTo)
     ->from(  Core_Valid::email($emailTo)
        ? $emailTo
        : $emailTo
     )
     ->subject('Резюме на вакансии с сайта')
     ->message(trim($sText))
     ->contentType('text/plain');
//     ->header('charset','KOI8-R');
  $aFileInfo = Core_Array::getFiles("resume", array()); // получаем ассоциативный подмассив, описывающий наш файл
  if (is_array($aFileInfo) && isset($aFileInfo['name']) && $aFileInfo['size'] > 0)
  {
    echo $aFileInfo['tmp_name'];

    // Код для аттача:
    $oCore_Mail_Driver
      ->attach(array( 'filepath' => $aFileInfo['tmp_name'],
                      'filename' => $aFileInfo['name'] ));
  }
  $oCore_Mail_Driver
    ->send();


5. удалять файл не нужно: после завершения выполнения скрипта php-интерпретатор автоматически удаляет временные файлы
ARTatom
Авторизация