항상 도움 주시는 분들께 감사합니다.
그누보드5 기본은 첨부파일용량이 게시판설정용량보다 크면 안내문구 띄우고 첨부시키지 않도록 되어있는데..무조건 파일은 받아야하는 게시판을 제작중이라 제목그대로 첨부용량이 크면 경고 후 다시 작성중이던 내용으로(입력한 내용은 그대로 있어야합니다.) 가는방법이 있을까요?
짧은 지식으론 이미 폼내용이 넘어가버리면 힘들듯한데..작성페이지에서 검사하는 스크립트같은거라도 있을까요??
답변 2개 / 댓글 2개
<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()">
이런 식으로 사용자단에서 한 번 스크립트로 체크하시면 될 것 같네요.
다만 file api는 ie10 이상부터 지원을 하는지라 9 이하는 사용 불가능합니다.
답변에 대한 댓글 1개
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 상단에 삽입 해야합니다
답변에 대한 댓글 1개
확인해보니 그누4부터 그랬던것같은데..사실 이런 형태가 좀 문제가 있어보이는건 저만 그런걸지..;;
당연히 첨부파일이 설정보다크면 다시올리도록 유도하는게 맞는것같은데..그냥 파일만 삭제하고 넘겨버리는건 좀 이해가 안되네요.
열린이글님 저번에도 그렇고 답변 정말 감사합니다.^^
답변을 작성하려면 로그인이 필요합니다.
우선 이렇게 경고라도 띄울수있는게 너무 감사하네요.
임시방편으로 알려주신대로 정리해야겠습니다..^^