폼메일에서 첨부파일 질문드립니다.
본문
기존 formmail_send.php을 가지고 폼메일을 만들었습니다.
그런데 파일이 전송이안됩니다...
도움 요청드립니다.
간단한 조언이라도 감사히 받겠습니다.
아래 코드 참고부탁드립니다ㅜㅜ
작성 페이지
<?php
include_once('./_common.php');
if (G5_IS_MOBILE) {
include_once(G5_THEME_MOBILE_PATH.'/page/support.php');
return;
}
$g5['title'] = '모델 신청';
include_once('./_head.php');
?>
<form name="contactform" method="post" action="./send.php">
희망하는 시술과목에 모두 체크해 주세요
성별과 나이는 어떻게 됩니까?
<select name="sex">
<option value="">성별</option>
<option value="남자">남자</option>
<option value="여자">여자</option>
</select>
<select name="age">
<option value="">나이</option>
<?php for ($i = 10; $i <= 80; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
키와 몸무게는 어떻게 됩니까?
<select name="height">
<option value="">키</option>
<?php for ($i = 130; $i <= 230; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
<select name="weight">
<option value="">몸무게</option>
<?php for ($i = 30; $i <= 130; $i++) { ?>
<option value="<?php echo $i; ?>"><?php echo $i; ?></option>
<?php } ?>
</select>
연락처는 어떻게 됩니까?
<input type="text" name="phone" placeholder="연락처(*** 개인정보보호를 위한 휴대폰번호 노출방지 ***)">
<input type="text" name="email" required="required" placeholder="이메일">
사는 지역은 어떻게 됩니까?
<select name="city">
<option value="">(시/도)선택</option>
<option value="saab">서울특별시</option>
<option value="fiat">강남구</option>
<option value="audi">인천시</option>
</select>
<select name="gu">
<option value="">(동/구)입력</option>
<option value="">성동구</option>
</select>
내가 꼭 리얼스토리 주인공이 되어야 하는 사진
<input type="file" name="file1" class="frm_input">
<input type="submit" value="신청 하기" class="btn_submit">
<input name="agree_01" id="agree_01" value="1" class="chbox" checked="checked" type="checkbox">
<label for="agree_01" style="font-size: 15px;margin-left: 5px;">개인정보취급방침에 동의합니다.</label>
</form>
<?php
include_once('./_tail.php');
?>
전송 코드
<?php
include_once('./_common.php');
include_once(G5_CAPTCHA_PATH.'/captcha.lib.php');
include_once(G5_LIB_PATH.'/mailer.lib.php');
$fmail = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$to = "*** 개인정보보호를 위한 이메일주소 노출방지 ***";
$subject = "[메디스타트] 리얼스토리 모델 신청";
$info = ''.$_POST['agree_01'].'';
if ($info == 1) {
$info2 = '동의';
}
$content =
'보낸사람 :신청인 <br>'
.'성별 : '.$_POST['sex'].'<br>'
.'나이:'.$_POST['age'].'<br>'
. '키 :'.$_POST['height'].'<br>'
. '몸무게 :'.$_POST['weight'].'<br>'
. '연락처 :'.$_POST['phone'].'<br>'
. '이메일 :'.$_POST['email'].'<br>'
. '시/도 :'.$_POST['city'].'<br>'
. '동/구 :'.$_POST['gu'].'<br>'
. '개인정보동의여부 :'.$info2;
if ($type == 2) {
$type = 1;
$content = str_replace("\n", "<br>", $content);
}
$file = attach_file($_FILES['file1']['name'], $_FILES['file1']['tmp_name']);
// html 이면
if ($type) {
$current_url = G5_URL;
$mail_content = '<!doctype html><html lang="ko"><head><meta charset="utf-8"><title>메일보내기</title><link rel="stylesheet" href="'.$current_url.'/style.css"></head><body>'.$content.'</body></html>';
}
else
$mail_content = $content;
mailer($fnick, $fmail, $to, $subject, $mail_content, $type, $file);
// 임시 첨부파일 삭제
if(!empty($file)) {
foreach($file as $f) {
@unlink($f['path']);
}
}
//$html_title = $tmp_to . "님께 메일발송";
$html_title = '메일 발송중';
include_once(G5_PATH.'/head.sub.php');
alert_close('메일을 정상적으로 발송하였습니다.');
history.back();
include_once(G5_PATH.'/tail.sub.php');
?>
답변 5
<!-- 데이터 인코딩형 enctype은 꼭 아래처럼 설정해야 합니다 --> <form enctype="multipart/form-data" action="_URL_" method="POST">
http://php.net/manual/kr/features.file-upload.post-method.php
폼 태그에 enctype="multipart/form-data"을 넣으면 발송이 안되더라구요.
발송은 되는데 여전히 파일은 안가요...ㅜㅠ
https://github.com/PHPMailer/PHPMailer
그누에 내장된 메일 플러그인이니 참고하세요.
https://github.com/PHPMailer/PHPMailer/blob/master/examples/send_file_upload.phps
됬어요~ 감사합니다. (꾸벅)
답변을 작성하시기 전에 로그인 해주세요.