파일 용량 초과시 에러 메시지 출력하고 싶은데

파일 용량 초과시 에러 메시지 출력하고 싶은데

QA

파일 용량 초과시 에러 메시지 출력하고 싶은데

본문

첨부파일에 사진을 첨부할때

8메가 이상이 넘으면

다음과 같은 메세지가 나오면서 글쓰기가 초기화 되어 버리네요.

 

※ 메시지 내용

제목을입력하세요. 내용을 입력하세요.

 

파일이 용량을 초과할때

"파일 용량을 초과하였습니다." 라고

에러 메세지를 출력할려면 어찌 해야 하나요?

이 질문에 댓글 쓰기 :

답변 3

http://sir.kr/qa/124982

참고하시면 될 듯합니다. 

for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
    $upload[$i]['file']    = '';
    $upload[$i]['source']  = '';
    $upload[$i]['filesize'] = 0;
    $upload[$i]['image']    = array();
    $upload[$i]['image'][0] = '';
    $upload[$i]['image'][1] = '';
    $upload[$i]['image'][2] = '';
    // 삭제에 체크가 되어있다면 파일을 삭제합니다.
    if (isset($_POST['bf_file_del'][$i]) && $_POST['bf_file_del'][$i]) {
        $upload[$i]['del_check'] = true;
        $row = sql_fetch(" select bf_file from {$g5['board_file_table']} where bo_table = '{$bo_table}' and wr_id = '{$wr_id}' and bf_no = '{$i}' ");
        @unlink(G5_DATA_PATH.'/file/'.$bo_table.'/'.$row['bf_file']);
        // 썸네일삭제
        if(preg_match("/\.({$config['cf_image_extension']})$/i", $row['bf_file'])) {
            delete_board_thumbnail($bo_table, $row['bf_file']);
        }
    }
    else
        $upload[$i]['del_check'] = false;
    $tmp_file  = $_FILES['bf_file']['tmp_name'][$i];
    $filesize  = $_FILES['bf_file']['size'][$i];
    $filename  = $_FILES['bf_file']['name'][$i];
    $filename  = get_safe_filename($filename);
    // 서버에 설정된 값보다 큰파일을 업로드 한다면
    if ($filename) {
        if ($_FILES['bf_file']['error'][$i] == 1) {
            $file_upload_msg .= '\"'.$filename.'\" 파일의 용량이 서버에 설정('.$upload_max_filesize.')된 값보다 크므로 업로드 할 수 없습니다.\\n';
            continue;
        }
        else if ($_FILES['bf_file']['error'][$i] != 0) {
            $file_upload_msg .= '\"'.$filename.'\" 파일이 정상적으로 업로드 되지 않았습니다.\\n';
            continue;
        }
    }

위 소스를

write_update.php 파일안에 넣으면 먹통이 되네요

가장 간단한 방법은 일단 빈 iframe을 하나 생성합니다. 그리고 글쓰기 폼의 타겟을 이 iframe으로 지정합니다. 폼 전송시 iframe을 사용하기 때문에 현재 글쓰기를 진행하고 있는 프레임에는 전혀 변동이 없습니다. 데이터만 전송한다고 보시면 됩니다. 서버에서는 원래대로 처리하고 리다이렉트할때 parent.location으로 리다이렉트하면 됩니다.

저도 비슷한 문제로 꽤나 고생했습니다. 검색을 해도 해결이 안되는 비슷한 게시물 사이에서 링크타고 계속 무한루프를 돌았네요ㅎㅎ 코드도 수정해 보고ㅠㅠ

 

파일용량 초과하면서 post 값을 잃어버리는 것 까지는 알았지만

(post값을 잃어버려서 제목, 내용이 사라지고, 그래서 제목과 내용 입력하라는 에러메시지 출력)

파일용량 체크 등 코드 수정으로 해결하려다 다 실패했지요ㅎㅎ

 

혹시나 싶어서

upload_max_size보다 post_max_size 를 더 크게 설정했더니 넘 간단하고 시원하게 해결이 되었어요ㅎㅎ

예전 글이지만.. 댓글 달아둡니다ㅠㅠㅎㅎ

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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