회원 아이디 폴더 만들때 오류

회원 아이디 폴더 만들때 오류

QA

회원 아이디 폴더 만들때 오류

본문

회원가입시 이미지 첨부(사업자 등록증 등) 를 위해 다음과 같이 소스를 적용시켰습니다.

 

회원 가입 시 아이디를 딴 폴더명이 만들어져 확인을 하는 것인데요

 

회원 아이디 중 앞 2글자의 폴더만 만들어지고 전체 아이디 폴더가 만들어지지 않네요

 

예를 들면 abcd123 이란 아이디면 ab 란 폴더만 만들어집니다 ㅠㅠ

 

/skin/memeber/basic/register_form.skin.php에

 


<div class="form-group has-feedback">
    <label class="col-sm-2 control-label" for="reg_mb_10"><b>관련서류첨부 (사업자등록증)</b></label>
    <div class="col-sm-5">
        <span class="frm_info" style="font-size:11px">
            5M 이하의 이미지파일만 등록 가능 합니다.
        </span>
    
        <input type="file" name="mb_10" id="reg_mb_10" class="frm_input">
        <?php
        
        // 첨부파일 경로            
        $mb_10_path = G5_DATA_PATH.'/member/'.$member['mb_id'].'/'.$member['mb_10'];
        $mb_10_url  = G5_DATA_URL.'/member/'.$member['mb_id'].'/'.$member['mb_10'];
        
        if ($w == 'u' && file_exists($mb_10_path)) { ?>
        <br><a href="<?=$mb_10_url ?>" target="_target"><font color="red">사업자등록증</font></a>
        <input type="checkbox" name="del_mb_10" value="1" id="del_mb_10">
        <label for="del_mb_10">삭제</label>
        <?php }  ?>
    </div>
</div>

 

/bbs/register_form_update.php 에

 


$msg = "";
$mb_10 = '';
if (isset($_FILES['mb_10']) && is_uploaded_file($_FILES['mb_10']['tmp_name'])) {
    if (preg_match("/(\.gif|jpg|png|jpeg)$/i", $_FILES['mb_10']['name'])) {
        // 파일 용량이 설정값보다 이하만 업로드 가능
        if ($_FILES['mb_10']['size'] <= $config['cf_member_icon_size']) {
            @mkdir($mb_dir, G5_DIR_PERMISSION);
            @chmod($mb_dir, G5_DIR_PERMISSION);
            $dest_path = $mb_dir.'/'.$_FILES['mb_10']['name'];
            // 수정시 기존파일 삭제
            $filename2 = $member['mb_10'];
            @unlink($mb_dir.'/'.iconv("UTF-8","EUC-KR",$filename2));
            $sql = " update {$g5['member_table']} set mb_10 ='' where mb_id='$mb_id'" ;
            sql_query($sql);
            
            // 파일업로드
            move_uploaded_file($_FILES['mb_10']['tmp_name'], iconv("UTF-8","EUC-KR",$dest_path));
            chmod(iconv("UTF-8","EUC-KR",$dest_path), G5_FILE_PERMISSION);
            
            // 파일명 여분필드에 업데이트
            $filename = $_FILES['mb_10']['name'];
            $sql = " update {$g5['member_table']} set mb_10 ='$filename' where mb_id='$mb_id'" ;
            sql_query($sql);
            
        } else {
            $msg .= '첨부이미지를 5M 이하로 업로드 해주십시오.';
        }
    } else {
        $msg .= $_FILES['mb_10']['name'].'은(는) 이미지파일이 아닙니다.';
    }
}
 

이 질문에 댓글 쓰기 :

답변 1

/bbs/register_form_update.php

 

$mb_dir = G5_DATA_PATH.'/member/'.substr($mb_id,0,2);

 

=> 아래와 같이 수정하면 될거 같긴하네요.

=> 저렇게 하는 이유가 너무 많은 폴더가 생성되면 문제가 되서 앞2자가 같은 회원을

=> 묶어서 처리하는거 같은데요. 

=> 아이디별로 생성이 된다면 회원이 5만명이면 폴더가 5만개가 될거 같네요. 

 

$mb_dir = G5_DATA_PATH.'/member/'.$mb_id; 

답변을 작성하시기 전에 로그인 해주세요.
전체 59,642
QA 내용 검색

회원로그인

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