답변 2개
채택된 답변
+20 포인트
3년 전
회원가입시 구조를 먼저 확인해보시면됩니다.
/bbs/register_form_update.php <- 회원가입 저장관련된 페이지
회원가입작성이 완료되는 순간
g5_member_table <- 이 테이블이 먼저 insert를 처리한 이후에 회원 이미지는 업로드 하는 방식입니다.
만일용량이 초과되어 가입하는것을 막는다면 순서를 반대로 하시면됩니다.
Copy
// 회원 프로필 이미지
if( $config['cf_member_img_size'] && $config['cf_member_img_width'] && $config['cf_member_img_height'] ){
$mb_tmp_dir = G5_DATA_PATH.'/member_image/';
$mb_dir = $mb_tmp_dir.substr($mb_id,0,2);
if( !is_dir($mb_tmp_dir) ){
@mkdir($mb_tmp_dir, G5_DIR_PERMISSION);
@chmod($mb_tmp_dir, G5_DIR_PERMISSION);
}
// 아이콘 삭제
if (isset($_POST['del_mb_img'])) {
@unlink($mb_dir.'/'.$mb_icon_img);
}
// 회원 프로필 이미지 업로드
$mb_img = '';
if (isset($_FILES['mb_img']) && is_uploaded_file($_FILES['mb_img']['tmp_name'])) {
$msg = $msg ? $msg."\\r\\n" : '';
if (preg_match($image_regex, $_FILES['mb_img']['name'])) {
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_img']['size'] $config['cf_member_img_width'] || $size[1] > $config['cf_member_img_height']) {
$thumb = null;
if($size[2] === 2 || $size[2] === 3) {
//jpg 또는 png 파일 적용
$thumb = thumbnail($mb_icon_img, $mb_dir, $mb_dir, $config['cf_member_img_width'], $config['cf_member_img_height'], true, true);
if($thumb) {
@unlink($dest_path);
rename($mb_dir.'/'.$thumb, $dest_path);
}
}
if( !$thumb ){
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
}
}
//=================================================================\
}
} else {
$msg .= '회원이미지을 '.number_format($config['cf_member_img_size']).'바이트 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_img']['name'].'은(는) gif/jpg 파일이 아닙니다.';
}
}
}
요기를 보시면 회원 프로필 이미지가 올라가는 소스인데.....이게 먼저 실행되도록 하면 정의해놓은 용량이 초과되면....alert를 뿌리고 다시 back으로 가기떄문에 회원가입이 안됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
3년 전
애초에 처음부터 가입하는 화면에서 이미지 등록할때 이미지 용량 체크를 해서 초과하면 다시 등록하라고 해주면 될 것 같습니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인