그누보드 회원가입시 파일 업로드 채택완료
폭풍회오리
1년 전
조회 4,259
안녕하세요. 그누보드로 회원가입시 파일업로드를 해보았는데요. 이게 맞는지 궁금합니다. data 폴더에 member폴더에 저장되는게 아니가, member_image폴더에 저장이되네요. 근데 저장이 원활하게 되지 않습니다. 만약 아이디가 korea 라면, 폴더가 korea가 생성되어하는데, ko까지만 생성이 됩니다.
아래는 register_form_update.php의 파일 처리하는 부분입니다.
</p>
<p>$mb_4 = '';</p>
<p>
if (isset($_FILES['mb_4']) && is_uploaded_file($_FILES['mb_4']['tmp_name'])) {</p>
<p> if (preg_match("/(\.gif|jpg|png|jpeg)$/i", $_FILES['mb_4']['name'])) {</p>
<p> </p>
<p> // 파일 용량이 설정값보다 이하만 업로드 가능</p>
<p> @mkdir($mb_dir, G5_DIR_PERMISSION);</p>
<p> @chmod($mb_dir, G5_DIR_PERMISSION);</p>
<p>$dest_path = $mb_dir.'/'.$_FILES['mb_4']['name'];</p>
<p> </p>
<p>// 수정시 기존파일 삭제</p>
<p>$filename2 = $member['mb_4'];</p>
<p>@unlink($mb_dir.'/'.iconv("UTF-8","EUC-KR",$filename2));</p>
<p>$sql = " update {$g5['member_table']} set mb_4 ='' where mb_id='$mb_id'" ;</p>
<p>sql_query($sql);</p>
<p> </p>
<p>// 파일업로드</p>
<p> move_uploaded_file($_FILES['mb_4']['tmp_name'], iconv("UTF-8","EUC-KR",$dest_path));</p>
<p>chmod(iconv("UTF-8","EUC-KR",$dest_path), G5_FILE_PERMISSION);</p>
<p> </p>
<p>// 파일명 여분필드에 업데이트</p>
<p>$filename = $_FILES['mb_4']['name'];</p>
<p>$sql = " update {$g5['member_table']} set mb_4 ='$filename' where mb_id='$mb_id'" ;</p>
<p>sql_query($sql);</p>
<p> </p>
<p> } else {</p>
<p> $msg .= $_FILES['mb_4']['name'].'은(는) 이미지파일이 아닙니다.';</p>
<p> }</p>
<p>}</p>
<p>
아래는 register_form.skin.php 에서 첨부파일 넣는 부분입니다.
</p>
<p><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)) { ?>
<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></p>
<p>
첨부파일은 또 처음해봐서 이것저것 찾아보면서 해보고 있는데, 잘 되지가 않네요. 고수님들 도움을 부탁드리겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
답변에 대한 댓글 5개
�
폭풍회오리
1년 전
그럼 만약에 아이디앞 2글자가 같고, 파일명이 같다면 이게 구분이 어떤식으로 되는건가요?
s
sinbi
1년 전
아이디가 고유하니까, 파일명도 다 다르게 되니 걱정 안 하셔도....
그누보드 자체가 그렇게 설계되어 있으니....
그누보드 자체가 그렇게 설계되어 있으니....
�
폭풍회오리
1년 전
혹시 위 소스 그대로 테스트를 해보니, 파일명이 원본명 그대로 올라가버리네요, 그래서 다른 아이디 앞 2글자가 같은 회원이 업로드하면, 파일이 덮어쓰기가 되버리네요. 혹시 파일명을 그누보드는 게시판에 첨부할 때는 랜덤으로 길게 생성이 되던데, 회원가입시 첨부파일은 그런식으로 적용을 할 수 있을까요?
s
sinbi
1년 전
테스트해봤는데, momo, momo1 아이디로 각각 테스트해보니 mo 폴더 안에 각각 별도로 저장되는 것을 확인했습니다. 아이디가 다르면 파일명 다르게 업로드됩니다. 아이디는 고유하니 파일명 중복될 일은 없습니다.
랜덤하게 저장하려면 그 랜덤값을 회원여분필드에 저장시킨 후 코드 수정을 해야 할텐데...이건 의뢰로 해결하셔야 할 듯...
랜덤하게 저장하려면 그 랜덤값을 회원여분필드에 저장시킨 후 코드 수정을 해야 할텐데...이건 의뢰로 해결하셔야 할 듯...
�
폭풍회오리
1년 전
네 테스트해주셔서 고맙습니다. 저랑 같은 소스는 아닐듯해요. 저는 그냥 파일명이 원본파일명 그대로 올라가고, 한글파일명은 관리자페이지>회원정보에서 이미지가 불러오지가 않네요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인