게시글 작성시 발송되는 메일 질문드립니다.
본문
온라인문의 게시판을 제작중입니다.
문의글 등록 시 관리자에게 문의 내용을 메일로 발송하려합니다.
메일은 잘 발송되는데 문제는 첨부파일을 메일에 함께 첨부해서 발송해야합니다.
첨부파일 관련 소스는 다음과 같습니다.
wirte.skin.php
<td colspan="4">
<input type="file" name="bf_file[]" title="파일첨부 <?php echo $i+1 ?> : 용량 <?php echo $upload_max_filesize ?> 이하만 업로드 가능" class="upload-file frm_file frm_input " onchange="document.getElementById('file_name').value = this.value.replace(/c:\\fakepath\\/i,'')" style="display:none;">
<input type="text" id="file_name" readonly placeholder="※ 첫거래 업체는 사업자등록증을 필히 첨부 바랍니다.">
<button class="file_btn"><img src="/rigas/skin/board/inquiry_kr/img/file.png" alt="icon">파일선택</button>
</td>
첨부파일 등록 쪽은 위와 같으며
구글링으로 얻은 소스를 조금 수정하여
wirte_update.php 파일에 다음과 같이 추가하였습니다.
if($mode == "send") {
//파일첨부 시작
$file = $_FILES['file']['name'];
$target = "/tmp/".$file;
if (move_uploaded_file($_FILES['file']['tmp_name'], $target)) {
chmod("$target", 0777);
}
$attach[$i] = attach_file($file, $target);
//업로드 파일을 삭제한다.
@unlink($target[$i]);
}
위와 같이 작성했을 때,
1.
wirte.skin.php에 있는 input의 name값을 'file'로 통일 시켜주어야만 메일에 파일이 첨부됩니다.
bf_file배열을 어떻게 넣어야 하는지..
2. write_update.php에 위 코드를 삽입 하면 첨부파일을 등록하지 않으면 글 자체가 등록이 안되더군요. 첨부파일이 비어있으면 에러가 나는 걸까요?
선배분들의 도움을 요청합니다...
!-->!-->답변 2
지금 방식은 bf_file 파일은 배열방식으로 처리되기때문에 for문으로 size를 체크해서 적용해 주셔야 하는 부분입니다.
참고 그리고 첨부파일이 있을때와 그냥 내용만 보낼때 방식을 별도로 구분해서 처리해 주셔야 합니다.
해당 /bbs/write_update.php 파일을 보시고 참고해서 적용해 주시면 됩니다.
참고로 for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) 이렇게 bf_file을 돌려서 적용해 주셔야 하는 부분입니다.
좋은 정보를 주셔서 감사합니다!
답변을 작성하시기 전에 로그인 해주세요.