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

첨부파일 용량이 설정보다 크다면 작성중이던 글쓰기로 돌아가기 채택완료

D2Bweb 9년 전 조회 4,058

항상 도움 주시는 분들께 감사합니다.

 

그누보드5 기본은 첨부파일용량이 게시판설정용량보다 크면 안내문구 띄우고 첨부시키지 않도록 되어있는데..무조건 파일은 받아야하는 게시판을 제작중이라 제목그대로 첨부용량이 크면 경고 후 다시 작성중이던 내용으로(입력한 내용은 그대로 있어야합니다.) 가는방법이 있을까요?

 

짧은 지식으론 이미 폼내용이 넘어가버리면 힘들듯한데..작성페이지에서 검사하는 스크립트같은거라도 있을까요??

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

답변 2개

채택된 답변
+20 포인트

</p><p><script type="text/javascript">
function chkFileSize() {
   var f = document.getElementById("test").files[0];
   if(f.size > 100000) {
      alert("정해진 용량보다 큼");
      return false;
   }
}
</script>
<input type="file" name="test" id="test" onchange="chkFileSize()"></p><p>

이런 식으로 사용자단에서 한 번 스크립트로 체크하시면 될 것 같네요.

다만 file api는 ie10 이상부터 지원을 하는지라 9 이하는 사용 불가능합니다.

https://developer.mozilla.org/en/docs/Web/API/File">https://developer.mozilla.org/en/docs/Web/API/File 

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

답변에 대한 댓글 1개

D
D2Bweb
9년 전
왕계란님 정말 감사합니다.
우선 이렇게 경고라도 띄울수있는게 너무 감사하네요.
임시방편으로 알려주신대로 정리해야겠습니다..^^

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

for ($i=0; $i

    // 삭제에 체크가 되어있다면 파일을 삭제합니다.     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 상단에 삽입 해야합니다 

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

답변에 대한 댓글 1개

D
D2Bweb
9년 전
대강 write_update.php에 말씀하신 소스를 손봐야 할 것같긴 했는데 역시나네요...프로그래머가 아닌 저로선...불가능에 가깝겠군요..ㅠㅠ

확인해보니 그누4부터 그랬던것같은데..사실 이런 형태가 좀 문제가 있어보이는건 저만 그런걸지..;;

당연히 첨부파일이 설정보다크면 다시올리도록 유도하는게 맞는것같은데..그냥 파일만 삭제하고 넘겨버리는건 좀 이해가 안되네요.

열린이글님 저번에도 그렇고 답변 정말 감사합니다.^^

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

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

로그인