회원가입시 이미지 첨부(사업자 등록증 등) 를 위해 다음과 같이 소스를 적용시켰습니다.
회원 가입 시 아이디를 딴 폴더명이 만들어져 확인을 하는 것인데요
회원 아이디 중 앞 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개 / 댓글 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;
답변에 대한 댓글 1개
답변을 작성하려면 로그인이 필요합니다.
진짜 감사합니다 ㅠㅠㅠ
제가 만들려는 사이트가 많아봐야 백명 정도라 괜찮을 거 같아요
너무 감사합니다 감사해요 로또 1등 되세요