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

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

호다 2년 전 조회 1,872

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

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

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 포인트
2년 전

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

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

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

</p>

<p><?php

// include_once('./_common.php');</p>

<p>function alert($msg) {

    die('<script>alert("' . $msg . '"); history.back();</script>');

}</p>

<p>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('올바른 방법으로 이용해 주세요.');

        }

    }

}

?></p>

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

<p>        <li>

            <input type="file" name="excel_file" />

        </li></p>

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

<p>

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

답변에 대한 댓글 1개

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

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

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

로그인