2026, 새로운 도약을 시작합니다.

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

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

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

<?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개

채택된 답변
+20 포인트

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

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

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

Copy






    

        chk_wr_id : 

        chk_wr_id : 

        chk_wr_id : 

        

            

        

        

            엑셀 업로드

            선택삭제

            선택복사

            선택이동

            선택숨김

            엑셀 다운로드

            N/A

        

    



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

답변에 대한 댓글 1개

이렇게 해서 제대로 엑셀 파일 확장자인 경우에는 excel_upload.php 파일 내용을 실행해야 하는데 안되네요 ..

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

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

로그인
🐛 버그신고