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

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

다조아해 8년 전 조회 4,001

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

8메가 이상이 넘으면

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

 

※ 메시지 내용

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

 

파일이 용량을 초과할때

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

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

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

답변 3개

채택된 답변
+20 포인트

http://sir.kr/qa/124982">http://sir.kr/qa/124982

참고하시면 될 듯합니다. 

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

답변에 대한 댓글 2개

다조아해
8년 전
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 파일안에 넣으면 먹통이 되네요
왕계란
8년 전
제가 알려 드린 건 js 코드라서 php 코드 안에 넣으면 페이지 오류가 납니다.
write.skin.php 파일에 넣으세요.

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

vk
6년 전

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

 

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

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

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

 

혹시나 싶어서

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

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

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

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

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

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

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

로그인