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

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

QA

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

답변 1

본문

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

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

<?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>
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 85
© SIRSOFT
현재 페이지 제일 처음으로