게시글 작성시 발송되는 메일 질문드립니다.

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
게시글 작성시 발송되는 메일 질문드립니다.

QA

게시글 작성시 발송되는 메일 질문드립니다.

본문

온라인문의 게시판을 제작중입니다.

문의글 등록 시 관리자에게 문의 내용을 메일로 발송하려합니다.

메일은 잘 발송되는데 문제는 첨부파일을 메일에 함께 첨부해서 발송해야합니다.

 

첨부파일 관련 소스는 다음과 같습니다.

 

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을 돌려서 적용해 주셔야 하는 부분입니다.

도움 주셔서 감사합니다.


if($mode == "send") {
        //파일첨부 시작
        for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
            $file[$i] = $_FILES['bf_file'][$i]['name'];
            $target[$i] = "/tmp/".$file;

            if (move_uploaded_file($_FILES['bf_file'][$i]['tmp_name'], $target[$i])) {
                chmod("$target[$i]", 0777);   
            }
		
            $attach[$i] = attach_file($file[$i], $target[$i]);
            
            //업로드 파일을 삭제한다.
            @unlink($target[$i]);
        }
	}
	//파일첨부 끝


이렇게 묶어봤는데 틀린부분이 있을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 0
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT