회원사진 등록
본문
밑에 처럼 회원 사진 등록 관련 다 적용했는데
member_image폴더에 사진이 안올라가고 phpMyAdmin에 mb_1에 아무것도 생성이 안되요
저만 안되는 건가요?
어떤 분한테 물어보니 bbs/register_form_update.php 여기에 있는
$mb_1 = "";
if (is_uploaded_file($_FILES['mb_1']['tmp_name'])) {
이 부분에$mb_1 = "";여기로 넘어가다가 사진이 살아지고
파일이 여기로 저장된다는데['mb_1']['tmp_name'] 여기가 어디인지 모르겠다는데
어떻게 해야해요?
답답함....
그리고 환경설정에 들어가서
여분필도 값 다 줬고요
회원 아이콘 용량은 5,000바이트로 되어있는데 이걸 50,000바이트로 바꿔야하나요?
현재 date/member_image폴더 생성후 707로 변경했고
/board/mobile/skin/member/basic/register_form.skin.php
<?php if ($config['cf_use_member_icon'] && $member['mb_level'] >= $config['cf_icon_level']) { ?>
<!-- <tr>
<th scope="row"><label for="reg_mb_icon">회원아이콘</label></th>
<td>
<span class="frm_info">
이미지 크기는 가로 <?php echo $config['cf_member_icon_width'] ?>픽셀, 세로 <?php echo $config['cf_member_icon_height'] ?>픽셀 이하로 해주세요.<br>
gif만 가능하며 용량 <?php echo number_format($config['cf_member_icon_size']) ?>바이트 이하만 등록됩니다.
</span>
<input type="file" name="mb_icon" id="reg_mb_icon" class="frm_input">
<?php if ($w == 'u' && file_exists($mb_icon_path)) { ?>
<img src="<?php echo $mb_icon_url ?>" alt="회원아이콘">
<input type="checkbox" name="del_mb_icon" value="1" id="del_mb_icon">
<label for="del_mb_icon">삭제</label>
<?php } ?>
</td>
</tr>-->
<tr>
<th scope="row"><label for="reg_mb_1">Image</label></th>
<td>
<span class="frm_info">
이미지 크기는 가로 <?php echo $config[cf_1] ?>픽셀, 세로 <?php echo $config[cf_2] ?>픽셀 이하로 해주세요.<br>
gif만 가능하며 용량 <?php echo number_format($config[cf_3]) ?>바이트 이하만 등록됩니다.
<div id="divFake" style="position:relative; left: 5px; width: 60px;height:40px; overflow:hidden;">
<input type="file" name="mb_1" id="reg_mb_1" class="frm_input" style="font-size: 80px; position: absolute;right:0px;top:0px; opacity:0; filter: alpha(opacity=0);cursor: pointer;"/>
<img src="/board/mobile/skin/member/basic/img/1.jpg" style="width: 60px; height :40px; alt="찾아보기"/>
</div>
<?php if ($w == 'u' && file_exists($mb_1_path)) { ?>
<img src="<?php echo $mb_1_url ?>" alt="회원 사진" style="width: 50px; height :50px; ">
<input type="checkbox" name="del_mb_1" value="1" id="del_mb_1">
<label for="del_mb_1">삭제</label>
<?php } ?>
</td>
</th>
</tr>
<?php } ?>
/board/bbs/register_form.php
// 회원 사진 경로
$mb_1_path = G5_DATA_PATH.'/member_image/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
$mb_1_url = G5_DATA_URL.'/member_image/'.substr($member['mb_id'],0,2).'/'.$member['mb_id'].'.gif';
/board/bbs/register_form_update.php
// 회원 사진
$mb1_dir = G5_DATA_PATH.'/member_image/'.substr($mb_id,0,2);
// 회원 사진 삭제
if (isset($_POST['del_mb_1'])) {
@unlink($mb1_dir.'/'.$mb_id.'.gif');
}
// 회원 사진 업로드
$mb_1 = "";
if (is_uploaded_file($_FILES['mb_1']['tmp_name'])) {
if (preg_match("/(\.gif)$/i", $_FILES['mb_1']['name'])) {
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES['mb_1']['size'] <= $config[cf_3]) {
@mkdir($mb1_dir, G5_DIR_PERMISSION);
@chmod($mb1_dir, G5_DIR_PERMISSION);
$dest_path = $mb1_dir.'/'.$mb_id.'.gif';
move_uploaded_file($_FILES['mb_1']['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_1] || $size[1] > $config[cf_2])
@unlink($dest_path);
//=================================================================\
}
} else {
$msg .= '회원 사진을 '.number_format($config[cf_3]).'바이트 이하로 업로드 해주십시오.';
}
} else {
$msg .= $_FILES['mb_1']['name'].'은(는) gif 파일이 아닙니다.';
}
}
답변 2
중간중간에 echo 로 로그 찍으면서 확인해보시면 어디서부터 적용이 안되었는지 확인 가능합니다.
소스 중간 중간에
echo "1";
~~~
echo "2";
~~~
echo "3";
~~
echo "4";
~~
이런식으로 써놓으시고
제일 마지막에 goto_url 부분은 주석 처리하시면 어디서 처리가 안된건지 확인 되실겁니다.
http://sir.kr/g5_skin/12197?sca=%ED%9A%8C%EC%9B%90%EA%B0%80%EC%9E%85
제가 작업해서 올려놓은 회원가입 스킨을 활용하시면 될듯 합니다~