엑셀 파일을 게시물으로 업로드 하고 있는데요 ..

엑셀 파일을 게시물으로 업로드 하고 있는데요 ..

QA

엑셀 파일을 게시물으로 업로드 하고 있는데요 ..

본문

안녕하세요? 항상 답변 감사합니다. 게시판 리스트에 버튼 "엑셀 업로드" 추가해주었습니다. 

그래서 해당 버튼을 클릭하면 엑셀 파일을 업로드 해줍니다. 이 부분 까지는 구현을 해주었습니다. 그런데 문제의 코드는 아래와 같습니다. 
 

<?php

include_once('./_common.php');

 

if ($_POST['btn_submit'] == '엑셀 업로드') {

    $allowedExtensions = array('xlsx', 'xls');

    $uploadedFile = $_FILES['excel_file']['name'];

    $fileExtension = pathinfo($uploadedFile, PATHINFO_EXTENSION);

 

    if (!in_array($fileExtension, $allowedExtensions)) {

        alert('올바른 파일 형식이 아닙니다. 엑셀 파일(.xlsx, .xls)만 업로드할 수 있습니다.');

    } else {

        include './excel_upload.php';

    }

} else {

    if ($_POST['btn_submit'] != '엑셀 업로드') {

        $count = count($_POST['chk_wr_id']);

 

        if (!$count) {

            alert($_POST['btn_submit'].' 하실 항목을 하나 이상 선택하세요.');

        }

    }

 

    if ($_POST['btn_submit'] == '선택삭제') {

        include './delete_all.php';

    } else if ($_POST['btn_submit'] == '선택복사') {

        $sw = 'copy';

        include './move.php';

    } else if ($_POST['btn_submit'] == '선택이동') {

        $sw = 'move';

        include './move.php';

    } else if ($_POST['btn_submit'] == '선택숨김') {

        include './secret_all.php';

    } else if ($_POST['btn_submit'] == '엑셀 다운로드') {

        include './excel_download.php';

    } else {

        alert('올바른 방법으로 이용해 주세요.');

    }

}

?>

 

엑셀 업로드 파일이 아닐 경우에만 해당 메시지를 출력해야 하고 엑셀 파일 형식이 아닐 경우 따로 출력되는 메시지를 지정해주었는데도 엑셀 파일을 업로드한 경우 "하실 항목을 하나 이상 선택하세요." 라는 메시지가 출력이 됩니다.

왜 그런 것일까요? 코드만 봐서는 모르겠습니다. 

항상 감사합니다. 

이 질문에 댓글 쓰기 :

답변 1

첨부된 소스는 back 단 소스 입니다.

front 단 소스까지 있어야 문제 확인이 쉽습니다.

다음은 별다른 문제 없이 분기처리를 확인할수 있는 임의 구성된 front/back 소스 입니다.


<?php
// include_once('./_common.php');
function alert($msg) {
    die('<script>alert("' . $msg . '"); history.back();</script>');
}
if (empty($_POST) == false) {
    if ($_POST['btn_submit'] == '엑셀 업로드') {
        $allowedExtensions = array('xlsx', 'xls');
        $uploadedFile = $_FILES['excel_file']['name'];
        $fileExtension = pathinfo($uploadedFile, PATHINFO_EXTENSION);
     
        if (!in_array($fileExtension, $allowedExtensions)) {
            alert('올바른 파일 형식이 아닙니다. 엑셀 파일(.xlsx, .xls)만 업로드할 수 있습니다.');
        } else {
            // include './excel_upload.php';
            print("include './excel_upload.php';");
        }
    } else {
        if ($_POST['btn_submit'] != '엑셀 업로드') {
            $count = count($_POST['chk_wr_id']);
     
            if (!$count) {
                alert($_POST['btn_submit'].' 하실 항목을 하나 이상 선택하세요.');
            }
        }
     
        if ($_POST['btn_submit'] == '선택삭제') {
            // include './delete_all.php';
            print("include './delete_all.php';");
        } else if ($_POST['btn_submit'] == '선택복사') {
            $sw = 'copy';
            // include './move.php';
            print("include './move.php';");
        } else if ($_POST['btn_submit'] == '선택이동') {
            $sw = 'move';
            // include './move.php';
            print("include './move.php';");
        } else if ($_POST['btn_submit'] == '선택숨김') {
            // include './secret_all.php';
            print("include './secret_all.php';");
        } else if ($_POST['btn_submit'] == '엑셀 다운로드') {
            // include './excel_download.php';
            print("include './excel_download.php';");
        } else {
            alert('올바른 방법으로 이용해 주세요.');
        }
    }
}
?>
<form method="post" enctype="multipart/form-data">
    <ul>
        <li>chk_wr_id : <input type="text" name="chk_wr_id[]" /></li>
        <li>chk_wr_id : <input type="text" name="chk_wr_id[]" /></li>
        <li>chk_wr_id : <input type="text" name="chk_wr_id[]" /></li>
        <li>
            <input type="file" name="excel_file" />
        </li>
        <li>
            <button type="submit" name="btn_submit" value="엑셀 업로드">엑셀 업로드</button>
            <button type="submit" name="btn_submit" value="선택삭제">선택삭제</button>
            <button type="submit" name="btn_submit" value="선택복사">선택복사</button>
            <button type="submit" name="btn_submit" value="선택이동">선택이동</button>
            <button type="submit" name="btn_submit" value="선택숨김">선택숨김</button>
            <button type="submit" name="btn_submit" value="엑셀 다운로드">엑셀 다운로드</button>
            <button type="submit" name="btn_submit" value="N/A">N/A</button>
        </li>
    </ul>
</form>
답변을 작성하시기 전에 로그인 해주세요.
전체 125,873 | RSS
QA 내용 검색

회원로그인

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