회원사진 입력받는것,, 보시고 틀린부분좀 체크해주세요 정보
회원사진 입력받는것,, 보시고 틀린부분좀 체크해주세요본문
그누 ver 4.05.01
팁텍에 있는 말탄개미님이 올린것 보고 따라해 본것입니다. 그저 따라하기이고 지식은 없습니다.
mb_1 이용
수정파일
1. bbs/register_form.php
2. bbs/register_form_update.php
3. skin/member/basic/register_form.skin.php
더 수정해야할 것이 있는지 모르겠네요. 우선 관리자화면에서 하는건 뺐는데 상관없죠?
member_form.php 하고 member_form_update.php 는 adm 디렉토리로 이동되었네요.
말탄개미님이 올린것에 보면 bbs 디렉토리에 있었는데,,,,
1. register_form.php
마지만 즈음에
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$mb_1 = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/photo.gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
2. register_form_update.php
중간쯤--회원 아이콘 부분을 복사했는데 잘못된것이 뭔지 모르겠어요
// 아이콘 삭제
if ($del_mb_icon)
@unlink("$mb_dir/$mb_id.gif");
$msg = "";
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
// 사진 삭제 여기가 추가한 부분인데요. 변수같은걸 몰라서 그런지 도통 이해가 안갑니다
if ($del_mb_1)
@unlink("$mb_dir/photo.gif");
$msg = "";
// 사진 업로드
$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_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/photo.gif";
move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_whdth] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_1][name] . "은(는) gif 파일이 아닙니다.";
}
3. register_form.skin.php
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원아이콘</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_icon' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br> (gif만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<? if ($w == "u" && file_exists($mb_icon)) { ?>
<br><img src='<?=$mb_icon?>' align=absmiddle> <input type=checkbox name='del_mb_icon' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
<? } ?>
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원사진</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_1' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br> (gif만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<? if ($w == "u" && file_exists($mb_1)) { ?>
<br><img src='<?=$mb_1?>' align=absmiddle> <input type=checkbox name='del_mb_1' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
<? } ?>
폼하고 변수등 바꿔줘야 할 사항이 틀렸을 것 같은데 잘 모르겠습니다.
cf_member_icon_size 등등을 그대로 썼는데 이것을 관리화면에서 여분필드에 등록하고
cf_1 , cf_2 이렇게 쓸수 있나요?
// submit 최종 폼체크
funtion 에서
if (typeof f.mb_icon != "undefined")
{
if (f.mb_icon.value)
{
if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i))
{
alert("회원아이콘이 gif 파일이 아닙니다.");
f.mb_icon.focus();
return;
}
}
}
if (typeof f.mb_1 != "undefined")
{
if (f.mb_1.value)
{
if (!f.mb_1.value.toLowerCase().match(/.(gif)$/i))
{
alert("회원아이콘이 gif 파일이 아닙니다.");
f.mb_1.focus();
return;
}
}
}
잘못된 부분과 더 수정해줘야 할 사항있으면 체크좀 해주세요...
이상태로는 작동을 안하네요.
팁텍에 있는 말탄개미님이 올린것 보고 따라해 본것입니다. 그저 따라하기이고 지식은 없습니다.
mb_1 이용
수정파일
1. bbs/register_form.php
2. bbs/register_form_update.php
3. skin/member/basic/register_form.skin.php
더 수정해야할 것이 있는지 모르겠네요. 우선 관리자화면에서 하는건 뺐는데 상관없죠?
member_form.php 하고 member_form_update.php 는 adm 디렉토리로 이동되었네요.
말탄개미님이 올린것에 보면 bbs 디렉토리에 있었는데,,,,
1. register_form.php
마지만 즈음에
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$mb_1 = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/photo.gif";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
2. register_form_update.php
중간쯤--회원 아이콘 부분을 복사했는데 잘못된것이 뭔지 모르겠어요
// 아이콘 삭제
if ($del_mb_icon)
@unlink("$mb_dir/$mb_id.gif");
$msg = "";
// 아이콘 업로드
$mb_icon = "";
if (is_uploaded_file($_FILES[mb_icon][tmp_name]))
{
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_icon][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
// 사진 삭제 여기가 추가한 부분인데요. 변수같은걸 몰라서 그런지 도통 이해가 안갑니다
if ($del_mb_1)
@unlink("$mb_dir/photo.gif");
$msg = "";
// 사진 업로드
$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_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/photo.gif";
move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_whdth] || $size[1] > $config[cf_member_icon_height])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_1][name] . "은(는) gif 파일이 아닙니다.";
}
3. register_form.skin.php
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원아이콘</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_icon' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br> (gif만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<? if ($w == "u" && file_exists($mb_icon)) { ?>
<br><img src='<?=$mb_icon?>' align=absmiddle> <input type=checkbox name='del_mb_icon' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
<? } ?>
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원사진</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_1' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(<?=$config[cf_member_icon_width]?>픽셀)x세로(<?=$config[cf_member_icon_height]?>픽셀) 이하로 해주세요.<br> (gif만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<? if ($w == "u" && file_exists($mb_1)) { ?>
<br><img src='<?=$mb_1?>' align=absmiddle> <input type=checkbox name='del_mb_1' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
<? } ?>
폼하고 변수등 바꿔줘야 할 사항이 틀렸을 것 같은데 잘 모르겠습니다.
cf_member_icon_size 등등을 그대로 썼는데 이것을 관리화면에서 여분필드에 등록하고
cf_1 , cf_2 이렇게 쓸수 있나요?
// submit 최종 폼체크
funtion 에서
if (typeof f.mb_icon != "undefined")
{
if (f.mb_icon.value)
{
if (!f.mb_icon.value.toLowerCase().match(/.(gif)$/i))
{
alert("회원아이콘이 gif 파일이 아닙니다.");
f.mb_icon.focus();
return;
}
}
}
if (typeof f.mb_1 != "undefined")
{
if (f.mb_1.value)
{
if (!f.mb_1.value.toLowerCase().match(/.(gif)$/i))
{
alert("회원아이콘이 gif 파일이 아닙니다.");
f.mb_1.focus();
return;
}
}
}
잘못된 부분과 더 수정해줘야 할 사항있으면 체크좀 해주세요...
이상태로는 작동을 안하네요.
댓글 전체
휴,, 성공했습니다.
cf_1 cf_2 cf_3 적용하고
파일이름변경, 확장자 jpg 로 변경...
cf_1 cf_2 cf_3 적용하고
파일이름변경, 확장자 jpg 로 변경...
팁앤텍에 공개좀 해주세요. ^^;;
이것은 회원 정보에서 단지 mb_1 (여분필드) 를 입력받는 것에 불과 합니다. 팁텍에 올리긴 뭐하고 여기서 리플로 다시 적을께요.
** mb_1 을 이용하여 회원 사진 입력받기
- 그누 ver. 4.05.01
- 팁텍에 있는 말탄개미님 것을 보고 따라했습니다.
** 수정파일
1. bbs/register_form.php
2. bbs/register_form_update.php
3. skin/member/basic/register_form.skin.php
수정이랄것도 없이 그냥 추가만 하시면 됩니다.
관리자모드의 회원정보수정에서도 구현하려면 별도로 다음 화일을 수정해야합니다.
이는 말탄개님이 올리신것을 보고 별도로 작업하세요.
adm/member_form.php
adm/member_form_update.php
____________________________________________________
*** 1단계
관리자모드>기본환경설정 맨 아래 여분필드 3개를 사용합니다.
여분필드1(cf_1) 에 60 (원하는 가로크기)입력
여분필드2(cf_2) 에 80 (원하는 세로크기)입력
여분필드3(cf_3) 에 6000 (원하는 파일크기)입력
upgrade 요것은 안눌러도 될것같은데 손해날건 없으니 한번 꾹 눌러주세요 .
*** 2단계 : 각 파일에 추가
-----------------
1. bbs/register_form.php
------------------
마지만 즈음에 mb_1 부분만 추가하시면 됩니다. jpg 형식
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$mb_1 = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].jpg";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
------------------
2. bbs/register_form_update.php
-------------------
// 사진 삭제 중간쯤 아이콘부분의 밑에 추가하시면 됩니다.
if ($del_mb_1)
@unlink("$mb_dir/$mb_id.jpgf");
$msg = "";
// 사진 업로드
$mb_1 = "";
if (is_uploaded_file($_FILES[mb_1][tmp_name]))
{
if (preg_match("/(\.jpg)$/i", $_FILES[mb_1][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_1][size] <= $config[cf_3])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.jpg";
move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_1] || $size[1] > $config[cf_2])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_1][name] . "은(는) jpg 파일이 아닙니다.";
}
------------------------
3. skin/member/basic/register_form.skin.php
--------------------------
그누 기본멤버스킨을 기준으로 합니다. 변형된 스킨사용시 그에 맞게 수정하세요.
table은 저한테 맞게끔 그렸습니다.
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원사진 또는 <br><br>아바타 또는 이쁜그림</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_1' size=30><br>
* (가로<?=$config[cf_1]?>픽셀)x세로(<?=$config[cf_2]?>픽셀) 이하(jpg만 가능 / 용량:<?=number_format($config[cf_3])?>바이트 이하)
<? if ($w == "u" && file_exists($mb_1)) { ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width=70><img src='<?=$mb_1?>' align=absmiddle></td>
<td><br>이거 사진 구현하느라 무쟈게 고생했어요<br>방명록등 특정게시판에 사용되니깐 입력하세요<br><br>
<input type=checkbox name='del_mb_1' value='1'>삭제
</td>
</tr>
</table>
<? } ?>
중략----------------밑에 합수부분에서 역시 아이콘 부분 밑에 추가하세요.
if (typeof f.mb_1 != "undefined")
{
if (f.mb_1.value)
{
if (!f.mb_1.value.toLowerCase().match(/.(jpg)$/i))
{
alert("그림이 jpg 파일이 아닙니다.");
f.mb_1.focus();
return;
}
}
}
파일수정 끝
===================================
*** 3단계 : 적용하고 테스트하는 단계입니다.
1. 손해날건 없은니깐 다시한번 관리자모드에서 upgrade 눌러주세요.
2. 사진이 저장되는 경로 확인
data/member/"자기아이디의 앞 두글자"/"자기아이디".jpg
이렇게 저장됩니다.
아이콘이나 사진을 올리거나 바꾸는 경우 작업후 브라우저의 새로고침을 눌러주세요.
이상입니다.
- 그누 ver. 4.05.01
- 팁텍에 있는 말탄개미님 것을 보고 따라했습니다.
** 수정파일
1. bbs/register_form.php
2. bbs/register_form_update.php
3. skin/member/basic/register_form.skin.php
수정이랄것도 없이 그냥 추가만 하시면 됩니다.
관리자모드의 회원정보수정에서도 구현하려면 별도로 다음 화일을 수정해야합니다.
이는 말탄개님이 올리신것을 보고 별도로 작업하세요.
adm/member_form.php
adm/member_form_update.php
____________________________________________________
*** 1단계
관리자모드>기본환경설정 맨 아래 여분필드 3개를 사용합니다.
여분필드1(cf_1) 에 60 (원하는 가로크기)입력
여분필드2(cf_2) 에 80 (원하는 세로크기)입력
여분필드3(cf_3) 에 6000 (원하는 파일크기)입력
upgrade 요것은 안눌러도 될것같은데 손해날건 없으니 한번 꾹 눌러주세요 .
*** 2단계 : 각 파일에 추가
-----------------
1. bbs/register_form.php
------------------
마지만 즈음에 mb_1 부분만 추가하시면 됩니다. jpg 형식
// 회원아이콘 경로
$mb_icon = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].gif";
$mb_1 = "$g4[path]/data/member/".substr($member[mb_id],0,2)."/$member[mb_id].jpg";
$member_skin_path = "$g4[path]/skin/member/$config[cf_member_skin]";
------------------
2. bbs/register_form_update.php
-------------------
// 사진 삭제 중간쯤 아이콘부분의 밑에 추가하시면 됩니다.
if ($del_mb_1)
@unlink("$mb_dir/$mb_id.jpgf");
$msg = "";
// 사진 업로드
$mb_1 = "";
if (is_uploaded_file($_FILES[mb_1][tmp_name]))
{
if (preg_match("/(\.jpg)$/i", $_FILES[mb_1][name]))
{
// 아이콘 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_1][size] <= $config[cf_3])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/$mb_id.jpg";
move_uploaded_file($_FILES[mb_1][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_1] || $size[1] > $config[cf_2])
@unlink($dest_path);
}
}
}
else
$msg .= $_FILES[mb_1][name] . "은(는) jpg 파일이 아닙니다.";
}
------------------------
3. skin/member/basic/register_form.skin.php
--------------------------
그누 기본멤버스킨을 기준으로 합니다. 변형된 스킨사용시 그에 맞게 수정하세요.
table은 저한테 맞게끔 그렸습니다.
<? if ($member[mb_level] >= $config[cf_icon_level]) { ?>
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원사진 또는 <br><br>아바타 또는 이쁜그림</TD>
<TD class=m_padding><INPUT class=m_text type=file name='mb_1' size=30><br>
* (가로<?=$config[cf_1]?>픽셀)x세로(<?=$config[cf_2]?>픽셀) 이하(jpg만 가능 / 용량:<?=number_format($config[cf_3])?>바이트 이하)
<? if ($w == "u" && file_exists($mb_1)) { ?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width=70><img src='<?=$mb_1?>' align=absmiddle></td>
<td><br>이거 사진 구현하느라 무쟈게 고생했어요<br>방명록등 특정게시판에 사용되니깐 입력하세요<br><br>
<input type=checkbox name='del_mb_1' value='1'>삭제
</td>
</tr>
</table>
<? } ?>
중략----------------밑에 합수부분에서 역시 아이콘 부분 밑에 추가하세요.
if (typeof f.mb_1 != "undefined")
{
if (f.mb_1.value)
{
if (!f.mb_1.value.toLowerCase().match(/.(jpg)$/i))
{
alert("그림이 jpg 파일이 아닙니다.");
f.mb_1.focus();
return;
}
}
}
파일수정 끝
===================================
*** 3단계 : 적용하고 테스트하는 단계입니다.
1. 손해날건 없은니깐 다시한번 관리자모드에서 upgrade 눌러주세요.
2. 사진이 저장되는 경로 확인
data/member/"자기아이디의 앞 두글자"/"자기아이디".jpg
이렇게 저장됩니다.
아이콘이나 사진을 올리거나 바꾸는 경우 작업후 브라우저의 새로고침을 눌러주세요.
이상입니다.