회원사진 업로드 채택완료
zkdlf
8년 전
조회 2,456
마이페이지에 회원사진 등록하게할려고하는 소스인데 회원가입할때 등록된 사진을 변경하기위해 마이페이지 edit에 새로운 사진을 등록하게할려고하는데 처음 등록된 사진그림이 나오고 다른 사진으로 변경하게할려는데 sumbit을 하면 date/member/회원폴더안에 jpg로 처음 등록했고 png로 다시 올렸는데 회원 사진 삭제하고 대체된사진이 안들어오고 폴더안에 두개의 파일이 나타납니다 삭제를하고 바뀐 사진으로 업로드하게할려면 어떻게 해야하나요?
</p><p><?php
// 회원 사진 경로
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
if(!file_exists($mb_icon_path)){
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.jpg';
if(!file_exists($mb_icon_path)){
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.png';
if(!file_exists($mb_icon_path)){
$mb_icon_path = "";
}
}
}
$expander = substr($mb_icon_path, -3);
$mb_icon_url = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.'.$expander;</p><p>
?>
<form name="fregisterform" id="fregisterform" action="<?php echo $register_action_url ?>" onsubmit="return fregisterform_submit(this);" method="post" enctype="multipart/form-data" autocomplete="off">
<div class="m01">
<tr>
<th scope="row"><label for="reg_mb_icon">Image</label></th>
<td>
<span class="frm_info">
<?php echo $config['cf_member_icon_width'] ?> <?php echo $config['cf_member_icon_height'] ?>
<?php echo number_format($config['cf_member_icon_size']) ?>
</span>
<div id="divFake">
<input id="reg_mb_icon" name="mb_icon" type="file" class="frm_input" style="font-size: 80px; position: absolute;right:0px;top:0px; opacity:0; filter: alpha(opacity=0);cursor: pointer;"/>
<? if (file_exists($mb_icon_path)){?>
<img src="<?=$mb_icon_url;?>">
<?}else{?>
<img src="/board/mobile/skin/board/mypage/img/photo.gif"style="width: 150px; height :150px; alt=찾아보기"align="center "/>
<?}?>
</div>
<? if (file_exists($mb_icon_path)) { ?>
<input type="hidden" name="del_mb_icon" value="1" id="del_mb_icon">
<?php } ?>
</td>
</th>
</tr>
</div>
<input type="submit" value="<?php echo $w==''?'Edit':'정보수정'; ?>" id="btn_submit" class="btn_submit" accesskey="s"></p><p> </form></p><p> </p><p><?</p><p>
// 회원 아이콘
$mb_dir = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2);</p><p>// 아이콘 삭제
if (isset($_POST['del_mb_icon'])) {
@unlink($mb_icon_path);
}</p><p>$msg = "";</p><p>// 아이콘 업로드
$mb_icon = '';
if (isset($_FILES['mb_icon']) && is_uploaded_file($_FILES['mb_icon']['tmp_name'])) {
if (preg_match("/(\.gif|png|jpg?)$/i", $_FILES['mb_icon']['name'])) {
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_icon']['size'] <= $config['cf_member_icon_size']) {
$explode_name = explode('.',$_FILES['mb_icon']['name']);
$dest_path = $mb_dir.'/'.$member['mb_id'].'.'.$explode_name[1];
@mkdir($mb_dir, G5_DIR_PERMISSION);
@chmod($mb_dir, G5_DIR_PERMISSION);
move_uploaded_file($_FILES['mb_icon']['tmp_name'], $dest_path);
chmod($dest_path, G5_FILE_PERMISSION);
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_member_icon_width'] || $size[1] > $config['cf_member_icon_height'])
@unlink($dest_path);
//=================================================================\
}
} else {
$msg .= '회원아이콘을 '.number_format($config['cf_member_icon_size']).'바이트 이하로 업로드 해주십시오.';
}</p><p> } else {
$msg .= $_FILES['mb_icon']['name'].'은(는) gif 파일이 아닙니다.';
}
}</p><p>?>
<!--?php
// 회원 사진 경로
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
if(!file_exists($mb_icon_path)){
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.jpg';
if(!file_exists($mb_icon_path)){
$mb_icon_path = G5_DATA_PATH.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.png';
if(!file_exists($mb_icon_path)){
$mb_icon_path = "";
}
}
}
$expander = substr($mb_icon_path, -3);
$mb_icon_url = G5_DATA_URL.'/member/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.'.$expander;
?-->
</p><form name="fregisterform" id="fregisterform" onsubmit="return fregisterform_submit(this);" action="<?php echo $register_action_url ?>" enctype="multipart/form-data" method="post" autocomplete="off">
<div class="m01">
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
8년 전
위 소스는 화일명이 무엇이며 어디서 실행 되는 것인가요?
사진 등록 소스가 폼 아래쪽에 나오는 것이 이상해 보이긴 하지만
위 소스만으로 보았을 때 60행에 추가 해주면 될 것 같아보입니다
@unlink($mb_icon_path);
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
z
zkdlf
8년 전
아 이건 mypage라는 폴더에있는 list.skin.php파일에서 구현한겁니다
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
8년 전
몇일전 제가 구현했던 내용과 동일하네요.<br />
<br />
그누는 기본적으로 gif파일만 업로드 되요.<br />
<br />
gif 이외의 jpg, png 파일을 업로드하고 싶으신거죠.<br />
<br />
<br />
방법.<br />
회원정보가입스킨에 보면게사진을 자바스크립트로 gif만 업로가능하게 한부분을 jpg, png도 업로드가능하게 수정해주세요.<br />
<br />
이제 bbs 디렉토리에서 회원정보 수정실행 파일에서<br />
jpg, png 파일도 업로드가능하게 수정요.<br />
기존 gif이외에 jpg, png 도 가능하게 추가.<br />
또한, gif 파일이외의&nbsp; 파일은 삭제하게한 코드에 jpg, png 도 추가해주세요.<br />
<br />
지금 제가 인천가는 중이라 스마트폰으로 작성해서 코드를 못어드려요^^
<br />
그누는 기본적으로 gif파일만 업로드 되요.<br />
<br />
gif 이외의 jpg, png 파일을 업로드하고 싶으신거죠.<br />
<br />
<br />
방법.<br />
회원정보가입스킨에 보면게사진을 자바스크립트로 gif만 업로가능하게 한부분을 jpg, png도 업로드가능하게 수정해주세요.<br />
<br />
이제 bbs 디렉토리에서 회원정보 수정실행 파일에서<br />
jpg, png 파일도 업로드가능하게 수정요.<br />
기존 gif이외에 jpg, png 도 가능하게 추가.<br />
또한, gif 파일이외의&nbsp; 파일은 삭제하게한 코드에 jpg, png 도 추가해주세요.<br />
<br />
지금 제가 인천가는 중이라 스마트폰으로 작성해서 코드를 못어드려요^^
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
z
zkdlf
8년 전
^^ 아니요 우선 gif jpg png구현은 다했어요 회원가입할때 사진 업로드시 gif jpg png이건 다되구요
그리고 data/member/각 회원아이디 폴더생성/ 안에 이미지 까지 되요 문제는 회원가입후 마이페이지라는 곳에서 이밎 변경을하거나 이미지 업로드안된회원이 이미지를 가입 후 업로드할때 구현한건데 이미 화원 이미지 등록한 아이디로 새로운 이미지로 변경할려는데 전에 이미지가 삭제가안되고 새로생기고 새로생긴 이미지는 출력이 안되고 전에있던이미지만 나와요^^
그리고 data/member/각 회원아이디 폴더생성/ 안에 이미지 까지 되요 문제는 회원가입후 마이페이지라는 곳에서 이밎 변경을하거나 이미지 업로드안된회원이 이미지를 가입 후 업로드할때 구현한건데 이미 화원 이미지 등록한 아이디로 새로운 이미지로 변경할려는데 전에 이미지가 삭제가안되고 새로생기고 새로생긴 이미지는 출력이 안되고 전에있던이미지만 나와요^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인