회원아이콘을 jpg도 등록할 수 있게 하기? > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

회원아이콘을 jpg도 등록할 수 있게 하기? 정보

회원아이콘을 jpg도 등록할 수 있게 하기?

본문

현재는 회원아이콘이 gif만 등록가능하쟎아요? 그런데, 용량만 맞는다면 jpg나 bmp도 등록을
할 수 있게 하는게 맞는거 아닌가요??? 그런데, 정규식이 너무 어려워요. 구글링을 해봐도
java script의 정규식은 잘 나와 있지도 안구...ㅠ..ㅠ... 아래처럼 바꿨더니 안되네요.

            if (!f.mb_icon.value.toLowerCase().match(/.(gif|jpg)$/i)) {

/bbs/write_update.php를 보면 php에서는 위에서 처럼 하면 되는거 같은데... ㅠ..ㅠ...

        $filename = preg_replace("/\.(php|phtm|htm|cgi|pl|exe|jsp|asp|inc)/i", "$0-x", $filename);



/skin/member/register_form.skin.php에서 체크할 때 jpg와 bmp도 통과하게 해줘야 하는데...ㅠ..ㅠ

    if (typeof f.mb_icon != 'undefined') {
        if (f.mb_icon.value) {
            if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i)) {
                alert('회원아이콘이 gif 파일이 아닙니다.');
                f.mb_icon.activate();
                return;
            }
        }
    }

/bbs/register_form_update.php에서는 아래처럼 바꾸면 될꺼 같아요.

// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
    if (preg_match("/(\.gif|jpg|bmp)$/i", $_FILES[mb_icon][name]))
    {
        // 아이콘 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
        {
            @mkdir($mb_dir, 0707);
            @chmod($mb_dir, 0707);
            $dest_path = "$mb_dir/$mb_id.gif";
            move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
            chmod($dest_path, 0606);
            if (file_exists($dest_path))
            {
                $size = getimagesize($dest_path);
                // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
                    @unlink($dest_path);
            }
        }
    }
    else
        $msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}

댓글 전체

정규식 맞는거 같은데요?/.(gif|jpg)$/i
잘돌아가는듯 한데요 특별한 문제가 뭔가용?

저는 맨첨에 정규식 모를때 확장자 구하는걸 prototype에 너놓고(정규식은 모르는데 prototype은 알았습니다.;;)

String.prototype.ext = funtion(){
  return (this.indexOf(".")<0)?"":this.substring(this.lastIndexOf(".")+1,this.length);
}
exts = new Array('jpg','gif',...) 배열에 넣고 돌려서 썼습니다.

정 안풀리시면 일단저렇게 하시고 살다보면 나중에 왜 안됐는지 알겠죠 ㅋ
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT