[Tep-j-general] Re: contact_us.phpページに添付ファイルを追加

Back to archive index

Seiji Sogabe sogab****@alles*****
2006年 1月 17日 (火) 20:55:08 JST


曽我部です。

少し長いです。

UHH51****@nifty***** wrote:
> 曽我部様 はまだ様 yoshiです。
> 
> ご返答有難うございます。
> せっかくご回答頂きましたが、根本的な設定方法が分からず、
> また投稿させて頂きます。
> 
> 曽我部様がお教え頂きました add_attachment()を使った方法を
> 利用するつもりですが、実際に設定する方法をお教え願いないでしょうか?
> 素人考えで、あつかましい 投稿で申し訳ありません。
> 
> よろしくお願いいたします。
> 

contact_us.phpの17行目から25行目

> 17    $error = false;
> (snip)
> 25    }

を以下のように変更します。

  $error = false;
  $upfile_error = false;

  if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
    if ($HTTP_POST_VARS) {

      if (! tep_validate_email(trim($HTTP_POST_VARS['email']))) {
        $error = true;
      }

      $contents = '';
      $filename = '';

      if (tep_not_null($_FILES['upfile']['name'])) {
        if (is_uploaded_file($_FILES['upfile']['tmp_name'])) {
          $contents = file_get_contents($_FILES['upfile']['tmp_name']);
          $filename = basename($_FILES['upfile']['name']);
        } else {
          $upfile_error = true;
        }
      }

      if (!$error && !$upfile_error) {
        tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT,
                          $HTTP_POST_VARS['enquiry'], $HTTP_POST_VARS['name'],
                          $HTTP_POST_VARS['email'], $filename, $contents);
        tep_redirect(tep_href_link(FILENAME_CONTACT_US, 'action=success'));
      }
    } else {
        $upfile_error = true;
    }
  }

80行目

>  80 <td><?php echo tep_draw_form('contact_us', 
>               tep_href_link(FILENAME_CONTACT_US, 'action=send')); ?>

を、

<td><?php echo tep_draw_form('contact_us', tep_href_link(FILENAME_CONTACT_US,
'action=send'), 'post', 'enctype="multipart/form-data"'); ?>

に変更。


92行目

> 91   <td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15, $HTTP_POST_VARS['enquiry']); ?></td>
> 92 </tr>

の後に以下を追加。

<tr>
  <td class="main"><?php echo 'ファイル'; ?></td>
</tr>
<tr>
  <td class="main">
    <?php echo tep_draw_input_field('upfile', '', '', 'file');
          if ($upfile_error) { echo 'ファイルを確認してください';} ?>
  </td>
</tr>

includes/function/general.phpの1002行目

> 1002    function tep_mail($to_name, $to_email_address, $email_subject, $email_text, 
                            $from_email_name, $from_email_address) {

を以下に変更

 function tep_mail($to_name, $to_email_address, $email_subject, $email_text,
                   $from_email_name, $from_email_address, $filename ='', $contents ='') {

1007行目

>  $message = new email(array('X-Mailer: osCommerce Mailer'));

の後に以下を追加。

   if ($filename != '') {
      $message->add_attachment($contents,$filename);
   }


バックアップと確認は忘れずに。

では。
-- 
sogab****@alles*****



Tep-j-general メーリングリストの案内
Back to archive index