그누보드 회원가입시 파일 업로드

그누보드 회원가입시 파일 업로드

QA

그누보드 회원가입시 파일 업로드

답변 1

본문

안녕하세요. 그누보드로 회원가입시 파일업로드를 해보았는데요. 이게 맞는지 궁금합니다. data 폴더에 member폴더에 저장되는게 아니가, member_image폴더에 저장이되네요. 근데 저장이 원활하게 되지 않습니다. 만약 아이디가 korea 라면, 폴더가 korea가 생성되어하는데, ko까지만 생성이 됩니다.

 

아래는 register_form_update.php의 파일 처리하는 부분입니다.

 


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

 

아래는 register_form.skin.php 에서 첨부파일 넣는 부분입니다.

 


<li>
                    <label for="reg_mb_3">사업자등록증 이미지파일<?php echo $desc_name ?></label>
                    <input type="file" name="mb_4" id="reg_mb_4" class="frm_input">
    <?php
    
    // 첨부파일 경로   
    $mb_4_path = G5_DATA_PATH.'/member/'.$member['mb_id'].'/'.$member['mb_4'];
    $mb_4_url  = G5_DATA_URL.'/member/'.$member['mb_id'].'/'.$member['mb_4'];
    
    if ($w == 'u' && file_exists($mb_4_path)) { ?>
                <br><a href="<?=$mb_4_url ?>" target="_target"><font color="red">사업자등록증</font></a>
                <input type="checkbox" name="del_mb_4" value="1" id="del_mb_4">
                <label for="del_mb_4">삭제</label>
                <?php }  ?> 
                </li>

 

첨부파일은 또 처음해봐서 이것저것 찾아보면서 해보고 있는데, 잘 되지가 않네요. 고수님들 도움을 부탁드리겠습니다.

이 질문에 댓글 쓰기 :

답변 1

그게 정상.... 앞 2글자 같은 것끼리 그룹화해서 처리합니다.

혹시 위 소스 그대로 테스트를 해보니, 파일명이 원본명 그대로 올라가버리네요, 그래서 다른 아이디 앞 2글자가 같은 회원이 업로드하면, 파일이 덮어쓰기가 되버리네요. 혹시 파일명을 그누보드는 게시판에 첨부할 때는 랜덤으로 길게 생성이 되던데, 회원가입시 첨부파일은 그런식으로 적용을 할 수 있을까요?

테스트해봤는데, momo, momo1 아이디로 각각 테스트해보니  mo 폴더 안에 각각 별도로 저장되는 것을 확인했습니다. 아이디가 다르면 파일명 다르게 업로드됩니다. 아이디는 고유하니 파일명 중복될 일은 없습니다.

랜덤하게 저장하려면 그 랜덤값을 회원여분필드에 저장시킨 후 코드 수정을 해야 할텐데...이건 의뢰로 해결하셔야 할 듯...

네 테스트해주셔서 고맙습니다. 저랑 같은 소스는 아닐듯해요. 저는 그냥 파일명이 원본파일명 그대로 올라가고, 한글파일명은 관리자페이지>회원정보에서 이미지가 불러오지가 않네요

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 205
© SIRSOFT
현재 페이지 제일 처음으로