첨부파일 설정한 용량보다 크면
본문
첨부파일이 설정한 용량보다 크면 글 등록이 안되는 줄 알았는데요~
아래와 같이 경고창을 띄우고 (첨부없는 상태로) 글 작성이 되더라구요.
경고창 뜨고 "글 작성이 안되도록" 할 수도 있을까요?
전 return 넣으면 되는 줄 알았는데 아닌 것 같더라구요~
// bbs/ write_update.php
// 서버에 설정된 값보다 큰파일을 업로드 한다면
if ($filename) {
if ($_FILES['bf_file']['error'][$i] == 1) {
$file_upload_msg .= '\"'.$filename.'\" 파일의 용량이 서버에 설정('.$upload_max_filesize.')된 값보다 크므로 업로드 할 수 없습니다.\\n';
continue;
}
답변 3
이 단계는 게시글을 insert 한 후 실행 될 것입니다.
첨부파일 실행되는 부분을 맨위로 하면 문제가 등록되지 않고 되돌아 가도록 하는것 가능 할 것입니다.
bbs/write_update.php
아래 부분을 위쪽으로 적당한 곳에 옮기세요....
$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';
$redirect_url = './board.php?bo_table=XXXX 또는 게시물 읽기로 해당페이지로 되돌아 가는 링크를 넣음';
alert($file_upload_msg, $redirect_url);
exit;
continue;
}
else if ($_FILES['bf_file']['error'][$i] != 0) {
$file_upload_msg .= '\"'.$filename.'\" 파일이 정상적으로 업로드 되지 않았습니다.\\n';
$redirect_url = './board.php?bo_table=XXXX 또는 게시물 읽기로 해당페이지로 되돌아 가는 링크를 넣음';
alert($file_upload_msg, $redirect_url);
exit;
continue;
}
}
이 단계는 게시글을 insert 한 후 실행 될 것입니다.
첨부파일 실행되는 부분을 맨위로 하면 문제가 등록되지 않고 되돌아 가도록 하는것 가능 할 것입니다.
bbs/write_update.php
아래 부분을 위쪽으로 적당한 곳에 옮기세요....
if(isset($_FILES['bf_file']['name']) && is_array($_FILES['bf_file']['name'])) {
for ($i=0; $i<count($_FILES['bf_file']['name']); $i++) {
$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';
$redirect_url = './board.php?bo_table=XXXX 또는 게시물 읽기로 해당페이지로 되돌아 가는 링크를 넣음';
alert($file_upload_msg, $redirect_url);
exit;
continue;
}
else if ($_FILES['bf_file']['error'][$i] != 0) {
$file_upload_msg .= '\"'.$filename.'\" 파일이 정상적으로 업로드 되지 않았습니다.\\n';
$redirect_url = './board.php?bo_table=XXXX 또는 게시물 읽기로 해당페이지로 되돌아 가는 링크를 넣음';
alert($file_upload_msg, $redirect_url);
exit;
continue;
}
}
}
}
시간이 없어서 제대로 못 봤는데 빠진 부분이 있습니다.
위에 처럼 하면 아라 될 것입니다. !-->
헉 요게 생각보다 큰 일이었네요. 찾아보니 요런 내용이 있었습니다.
제 생각에도 위 질문자님 말처럼
첨부파일의 용량이 제한 해놓은 용량보다 크면~~ 글을 다시 작성하도록 유도 하는게 맞는 것 같은데.
첨부파일은 무시되면서 글이 올라가야 하는 어쩔 수 없는 이유가 있었을지도 모르겠습니다!!
대신 글 작성완료 전에 첨부파일 용량 체크를 해서 걸러내면 되지만 << 이게 또...
특정 안드로이드 버전에서 보안상 문제를 일으키더라구요 ㅠㅠ 구글 이놈들..
답변을 작성하시기 전에 로그인 해주세요.