테스트 사이트 - 개발 중인 베타 버전입니다

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

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

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

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

 

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

 

wirte.skin.php

</p>

<p><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></p>

<p>

 

첨부파일 등록 쪽은 위와 같으며

 

구글링으로 얻은 소스를 조금 수정하여

wirte_update.php 파일에 다음과 같이 추가하였습니다.

</p>

<p>if($mode == "send") {

        //파일첨부 시작

        $file = $_FILES['file']['name'];

        $target = "/tmp/".$file;</p>

<p>        if (move_uploaded_file($_FILES['file']['tmp_name'], $target)) {

            chmod("$target", 0777);

        }

        

        $attach[$i] = attach_file($file, $target);

        //업로드 파일을 삭제한다.

        @unlink($target[$i]);

    }</p>

<p>

위와 같이 작성했을 때, 

1.

wirte.skin.php에 있는 input의 name값을 'file'로 통일 시켜주어야만 메일에 파일이 첨부됩니다.

bf_file배열을 어떻게 넣어야 하는지.. 

 

2. write_update.php에 위 코드를 삽입 하면 첨부파일을 등록하지 않으면 글 자체가 등록이 안되더군요. 첨부파일이 비어있으면 에러가 나는 걸까요?

 

선배분들의 도움을 요청합니다...

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트

지금 방식은 bf_file 파일은 배열방식으로 처리되기때문에 for문으로 size를 체크해서 적용해 주셔야 하는 부분입니다.

참고 그리고 첨부파일이 있을때와 그냥 내용만 보낼때 방식을 별도로 구분해서 처리해 주셔야 합니다.

 

해당 /bbs/write_update.php 파일을 보시고 참고해서 적용해 주시면 됩니다.

 

참고로 for ($i=0; $i

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

도움 주셔서 감사합니다.
[code]
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]);
}
}
//파일첨부 끝
[/code]

이렇게 묶어봤는데 틀린부분이 있을까요?
소스상으로 볼때는 문제 없어보이는데 직접 돌려보시고 확인해 보셔야 알듯 합니다.

댓글을 작성하려면 로그인이 필요합니다.

좋은 정보를 주셔서 감사합니다!

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인

전체 질문 목록

🐛 버그신고