회원가입시 회원이미지 등록 받기 > 그누4 팁자료실

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

회원가입시 회원이미지 등록 받기 정보

회원가입시 회원이미지 등록 받기

본문

웹프리존 님이 올려주신 팁의 내용에서 일부 수정했습니다.
원본. http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=27623
수정1. 회원이미지 업로드 폴더 :  /data/memberimg  ->  /data/member_image
수정2. 관리자 > 회원관리 > 정보수정 : 기능추가


1. 관리자 - 기본환경설정 - 맨 아래 여분필드
cf_1 : 58 <-- 가로사이즈
cf_2 : 58 <-- 세로사이즈
cf_3 : 50000 <-- 파일용량


2. /skin/member/basic/register_form.skin.php
        <? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
        <TR bgcolor="#FFFFFF">
            <TD width="160" class=m_title>회원아이콘</TD>
            <TD class=m_padding><INPUT class=ed type=file name='mb_icon' size=30>
                <table width="350" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td class=m_padding3>* 이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br>&nbsp;&nbsp;(gif만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
                            <? if ($w == "u" && file_exists($mb_icon)) { ?>
                                <br><img src='<?=$mb_icon?>' align=absmiddle> <input type=checkbox name='del_mb_icon' value='1'>삭제
                            <? } ?>
                        </td>
                    </tr>
                </table></TD>
        </TR>
        <? } ?>

를 아래와 같이 변경

        <?php if ($member[mb_level] >= $config[cf_icon_level]) { ?>
        <TR bgcolor="#FFFFFF">
            <TD width="160" class=m_title>회원아이콘</TD>
            <TD class=m_padding><INPUT class=ed type=file name='mb_icon' size=30>
                <table width="350" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td class=m_padding3>* 이미지 크기는 가로(<?php echo $config[cf_member_icon_width]; ?>픽셀)x세로(<?php echo $config[cf_member_icon_height]; ?>픽셀) 이하로 해주세요.<br>&nbsp;&nbsp;(gif만 가능 / 용량:<?php echo number_format($config[cf_member_icon_size]); ?>바이트 이하만 등록됩니다.)
                            <?php if ($w == "u" && file_exists($mb_icon)) { ?>
                                <br><img src='<?php echo $mb_icon; ?>' align=absmiddle> <input type=checkbox name='del_mb_icon' value='1'>삭제
                            <? } ?>
                        </td>
                    </tr>
                </table></TD>
        </TR>
        <TR bgcolor="#FFFFFF">
            <TD width="160" class=m_title>회원이미지</TD>
            <TD class=m_padding><INPUT class=ed type=file name='mb_1' size=30>
                <table width="350" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                        <td class=m_padding3>* 이미지 크기는 가로(<?php echo $config[cf_1]; ?>픽셀)x세로(<?php echo $config[cf_2]; ?>픽셀) 이하로 해주세요.<br>&nbsp;&nbsp;(gif만 가능 / 용량:<?php echo number_format($config[cf_3]); ?>바이트 이하만 등록됩니다.)
                            <?php if ($w == "u" && file_exists($mb_1)) { ?>
                                <br><img src='<?=$mb_1?>' align=absmiddle> <input type=checkbox name='del_mb_1' value='1'>삭제
                            <?php } ?>
                        </td>
                    </tr>
                </table></TD>
        </TR>
        <?php } ?>


3. /bbs/register_form.php
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";

를 아래와 같이 수정

$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$mb_1 = "$g4[path]/data/member_image/".substr($member[mb_id],0,2)."/$member[mb_id].gif"; // 회원이미지


4. ftp 접속해서 /data/ 폴더안에 member_image 폴더 추가, 권한 707 로 변경


5-1. /bbs/register_form_update.php

$mb_dir = "$g4[path]/data/member/".substr($mb_id,0,2);

// 아이콘 삭제
if ($del_mb_icon)
    @unlink("$mb_dir/$mb_id.gif");

를 아래와 같이 내용추가

$mb_dir = "$g4[path]/data/member/".substr($mb_id,0,2);
$mb1_dir = "$g4[path]/data/member_image/".substr($mb_id,0,2); // 회원이미지 추가

// 아이콘 삭제
if ($del_mb_icon)
    @unlink("$mb_dir/$mb_id.gif");
// 회원이미지 삭제
if ($del_mb_1)
    @unlink("$mb1_dir/$mb_id.gif");


5-2. /bbs/register_form_update.php
// 아이콘 업로드  아래쪽에  내용추가

// 회원이미지 업로드
$mb_1 = "";
if (is_uploaded_file($_FILES[mb_1][tmp_name]))
{
    if (preg_match("/(\.gif)$/i", $_FILES[mb_1][name]))
    {
        // 아이콘 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES[mb_1][size] <= $config[cf_3])
        {
            @mkdir($mb1_dir, 0707);
            @chmod($mb1_dir, 0707);
            $dest_path = "$mb1_dir/$mb_id.gif";
            move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
            chmod($dest_path, 0606);
            if (file_exists($dest_path))
            {
                //=================================================================\
                // 090714
                // gif 파일에 악성코드를 심어 업로드 하는 경우를 방지
                // 에러메세지는 출력하지 않는다.
                //-----------------------------------------------------------------
                $size = getimagesize($dest_path);
                if ($size[2] != 1) // gif 파일이 아니면 올라간 이미지를 삭제한다.
                    @unlink($dest_path);
                else
                // 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
                if ($size[0] > $config[cf_1] || $size[1] > $config[cf_2])
                    @unlink($dest_path);
                //=================================================================\
            }
        }
    }
    else
        $msg .= $_FILES[mb_1][name] . "은(는) gif 파일이 아닙니다.";
}


6. /adm/member_form.php

<tr class='ht'>
    <td>주소</td>
    <td>
        <input type=text class=ed name='mb_zip1' size=4 maxlength=3 readonly itemname='우편번호 앞자리' value='<? echo $mb[mb_zip1] ?>'> -
        <input type=text class=ed name='mb_zip2' size=4 maxlength=3 readonly itemname='우편번호 뒷자리' value='<? echo $mb[mb_zip2] ?>'>
        <a href="javascript:;" onclick="win_zip('fmember', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2');"><img src='<?=$g4[bbs_img_path]?>/btn_zip.gif' align=absmiddle border=0></a>
        <br><input type=text class=ed name='mb_addr1' size=40 readonly value='<? echo $mb[mb_addr1] ?>'>
        <br><input type=text class=ed name='mb_addr2' size=25 itemname='상세주소' value='<? echo $mb[mb_addr2] ?>'> 상세주소 입력</td>
    <td>회원아이콘</td>
    <td colspan=3>
        <input type=file name='mb_icon' class=ed><br>이미지 크기는 <?=$config[cf_member_icon_width]?>x<?=$config[cf_member_icon_height]?>으로 해주세요.
        <?
        $mb_dir = substr($mb[mb_id],0,2);
        $icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
        if (file_exists($icon_file)) {
            echo "<br><img src='$icon_file' align=absmiddle>";
            echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
        } 
        ?>
    </td>
</tr>

를 아래와 같이 변경


<tr class='ht'>
    <td>주소</td>
    <td colspan="3">
        <input type=text class=ed name='mb_zip1' size=4 maxlength=3 readonly itemname='우편번호 앞자리' value='<?php echo $mb[mb_zip1]; ?>'> -
        <input type=text class=ed name='mb_zip2' size=4 maxlength=3 readonly itemname='우편번호 뒷자리' value='<?php echo $mb[mb_zip2]; ?>'>
        <a href="javascript:;" onclick="win_zip('fmember', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2');"><img src='<?php echo $g4[bbs_img_path]; ?>/btn_zip.gif' align=absmiddle border=0></a>
        <br><input type=text class=ed name='mb_addr1' size=40 readonly value='<?php echo $mb[mb_addr1]; ?>'>
        <input type=text class=ed name='mb_addr2' size=25 itemname='상세주소' value='<?php echo $mb[mb_addr2]; ?>'> 상세주소 입력</td>
</tr>
<tr class='ht'>
    <td>회원아이콘</td>
    <td>
        <input type=file name='mb_icon' class=ed><br>이미지 크기는 <?php echo $config[cf_member_icon_width]; ?>x<?php echo $config[cf_member_icon_height]; ?>으로 해주세요.
        <?
        $mb_dir = substr($mb[mb_id],0,2);
        $icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
        if (file_exists($icon_file)) {
            echo "<br><img src='$icon_file' align=absmiddle>";
            echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
        } 
        ?>
    </td>
    <td>회원이미지</td>
    <td>
        <input type=file name='mb_1' class=ed><br>이미지 크기는 <?php echo $config[cf_1]; ?>x<?php echo $config[cf_2]; ?>으로 해주세요.
        <?php
        $mb1_dir = substr($mb[mb_id],0,2);
        $mb_1 = "$g4[path]/data/member_image/$mb1_dir/$mb[mb_id].gif";
        if (file_exists($mb_1)) {
            echo "<br><img src='$mb_1' align=absmiddle>";
            echo " <input type=checkbox name='del_mb_1' value='1' class='csscheck'>삭제";
        } 
        ?>
    </td>
</tr>


7. /adm/member_form_update.php
    // 회원 아이콘 삭제   

하단에 아래 내용 추가

    // 회원 이미지 삭제
    if ($del_mb_icon)
        @unlink("$g4[path]/data/member_image/$mb_dir/$mb_id.gif");

    // 회원이미지 업로드
    $mb_1 = "";
    if (is_uploaded_file($_FILES[mb_1][tmp_name])) {
        if (!preg_match("/(\.gif)$/i", $_FILES[mb_1][name])) {
            alert($_FILES[mb_1][name] . '은(는) gif 파일이 아닙니다.');
        }

        if (preg_match("/(\.gif)$/i", $_FILES[mb_1][name])) {
            @mkdir("$g4[path]/data/member_image/$mb_dir", 0707);
            @chmod("$g4[path]/data/member_image/$mb_dir", 0707);

            $dest_path = "$g4[path]/data/member_image/$mb_dir/$mb_id.gif";

            move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
            chmod($dest_path, 0606);

            if (file_exists($dest_path)) {
                $size = getimagesize($dest_path);
                // 이미지의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 이미지 삭제
                if ($size[0] > $config[cf_1] || $size[1] > $config[cf_2]) {
                    @unlink($dest_path);
                }
            }
        }
    }



참고자료
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=27623
추천
2

댓글 6개

그런데. 여기서 말하는 회원이미지는 등록후 어디에서 나타나거나 볼수 있는건가요?
혹시 코멘트에서 볼수 있거나 나타낼수는 있는지요?
코멘트에 회원가입시 등록한 이미지가 표시되도록 하는 방법은 아래에서 확인할수 있습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=31513
전체 85 |RSS
그누4 팁자료실 내용 검색

회원로그인

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