프로필 기능 추가. 정보
프로필 기능 추가.본문
질문 안받습니다.~
(관리자 설정에서... 프로필 사진 크기 설정 넣으려고 햇는데 귀차니즘 때문에..... 대신하여 크기는 수동으로 추가하고.... 파일 크기는..... 닉네임아이콘크기를 그대로 씁니다.)
---------------------------------------------------------------------------------------------
회원 프로필 추가
---------------------------------------------------------------------------------------------
/adm/member_form.php 수정
---------------------------------------------------------------------------------------------
회원 프로필 추가
---------------------------------------------------------------------------------------------
/adm/member_form.php 수정
---------------------------------------------------------------------------------------------
<tr class='ht'>
<td>주소</td>
<td>
<input type=text class=ed name='mb_zip1' size=4 maxlength=3 readonly itemname='우편번호 앞자리' value='<? echo $mb[mb_zip1] ?>'> -
<input type=text class=ed name='mb_zip2' size=4 maxlength=3 readonly itemname='우편번호 뒷자리' value='<? echo $mb[mb_zip2] ?>'>
<a href="javascript:;" onclick="win_zip('fmember', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2');"><img src='<?=$g4[bbs_img_path]?>/btn_zip.gif' align=absmiddle border=0></a>
<br><input type=text class=ed name='mb_addr1' size=40 readonly value='<? echo $mb[mb_addr1] ?>'>
<br><input type=text class=ed name='mb_addr2' size=25 itemname='상세주소' value='<? echo $mb[mb_addr2] ?>'> 상세주소 입력</td>
<td>회원아이콘</td>
<td colspan=3>
<input type=file name='mb_icon' class=ed><br>이미지 크기는 <?=$config[cf_member_icon_width]?>x<?=$config[cf_member_icon_height]?>으로 해주세요.
<?
$mb_dir = substr($mb[mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
if (file_exists($icon_file)) {
echo "<br><img src='$icon_file' align=absmiddle>";
echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
}
?>
</td>
</tr>
--------------------------
다음에 아래 소스 추가
--------------------------
<tr class='ht'>
<td>회원사진</td>
<td colspan="5">
<input type=file name='mb_profile' class=ed><br>이미지 크기는 58x58으로 해주세요.
<?
$mb_dir = substr($mb[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$mb[mb_id].jpg";
if (file_exists($profile_file)) {
echo "<br><img src='$profile_file' align=absmiddle>";
echo " <input type=checkbox name='del_mb_profile' value='1' class='csscheck'>삭제";
}
?>
</td>
</tr>
<td>주소</td>
<td>
<input type=text class=ed name='mb_zip1' size=4 maxlength=3 readonly itemname='우편번호 앞자리' value='<? echo $mb[mb_zip1] ?>'> -
<input type=text class=ed name='mb_zip2' size=4 maxlength=3 readonly itemname='우편번호 뒷자리' value='<? echo $mb[mb_zip2] ?>'>
<a href="javascript:;" onclick="win_zip('fmember', 'mb_zip1', 'mb_zip2', 'mb_addr1', 'mb_addr2');"><img src='<?=$g4[bbs_img_path]?>/btn_zip.gif' align=absmiddle border=0></a>
<br><input type=text class=ed name='mb_addr1' size=40 readonly value='<? echo $mb[mb_addr1] ?>'>
<br><input type=text class=ed name='mb_addr2' size=25 itemname='상세주소' value='<? echo $mb[mb_addr2] ?>'> 상세주소 입력</td>
<td>회원아이콘</td>
<td colspan=3>
<input type=file name='mb_icon' class=ed><br>이미지 크기는 <?=$config[cf_member_icon_width]?>x<?=$config[cf_member_icon_height]?>으로 해주세요.
<?
$mb_dir = substr($mb[mb_id],0,2);
$icon_file = "$g4[path]/data/member/$mb_dir/$mb[mb_id].gif";
if (file_exists($icon_file)) {
echo "<br><img src='$icon_file' align=absmiddle>";
echo " <input type=checkbox name='del_mb_icon' value='1' class='csscheck'>삭제";
}
?>
</td>
</tr>
--------------------------
다음에 아래 소스 추가
--------------------------
<tr class='ht'>
<td>회원사진</td>
<td colspan="5">
<input type=file name='mb_profile' class=ed><br>이미지 크기는 58x58으로 해주세요.
<?
$mb_dir = substr($mb[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$mb[mb_id].jpg";
if (file_exists($profile_file)) {
echo "<br><img src='$profile_file' align=absmiddle>";
echo " <input type=checkbox name='del_mb_profile' value='1' class='csscheck'>삭제";
}
?>
</td>
</tr>
---------------------------------------------------------------------------------------------
/adm/member_form_update.php 수정
---------------------------------------------------------------------------------------------
// 회원 아이콘 삭제
if ($del_mb_icon)
@unlink("$g4[path]/data/member/$mb_dir/$mb_id.gif");
/adm/member_form_update.php 수정
---------------------------------------------------------------------------------------------
// 회원 아이콘 삭제
if ($del_mb_icon)
@unlink("$g4[path]/data/member/$mb_dir/$mb_id.gif");
// 아이콘 업로드
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (is_uploaded_file($_FILES[mb_icon][tmp_name])) {
if (!preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
alert($_FILES[mb_icon][name] . '은(는) gif 파일이 아닙니다.');
}
if (preg_match("/(\.gif)$/i", $_FILES[mb_icon][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/$mb_id.gif";
move_uploaded_file($_FILES[mb_icon][tmp_name], $dest_path);
chmod($dest_path, 0606);
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);
}
}
}
}
--------------------------
다음에 아래 소스 추가
--------------------------
// 회원 프리필 사진 삭제
$width_profile = "58";
$height_profile = "58";
$size = getimagesize($dest_path);
// 아이콘의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $config[cf_member_icon_width] || $size[1] > $config[cf_member_icon_height]) {
@unlink($dest_path);
}
}
}
}
--------------------------
다음에 아래 소스 추가
--------------------------
// 회원 프리필 사진 삭제
$width_profile = "58";
$height_profile = "58";
if ($del_mb_profile)
@unlink("$g4[path]/data/member/$mb_dir/profile_$mb_id.jpg");
@unlink("$g4[path]/data/member/$mb_dir/profile_$mb_id.jpg");
// 프리필 사진 업로드
if (is_uploaded_file($_FILES[mb_profile][tmp_name])) {
if (!preg_match("/(\.jpg)$/i", $_FILES[mb_profile][name])) {
alert($_FILES[mb_profile][name] . '은(는) jpg 파일이 아닙니다.');
}
if (is_uploaded_file($_FILES[mb_profile][tmp_name])) {
if (!preg_match("/(\.jpg)$/i", $_FILES[mb_profile][name])) {
alert($_FILES[mb_profile][name] . '은(는) jpg 파일이 아닙니다.');
}
if (preg_match("/(\.jpg)$/i", $_FILES[mb_profile][name])) {
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
@mkdir("$g4[path]/data/member/$mb_dir", 0707);
@chmod("$g4[path]/data/member/$mb_dir", 0707);
$dest_path = "$g4[path]/data/member/$mb_dir/profile_$mb_id.jpg";
move_uploaded_file($_FILES[mb_profile][tmp_name], $dest_path);
chmod($dest_path, 0606);
chmod($dest_path, 0606);
if (file_exists($dest_path)) {
$size = getimagesize($dest_path);
// 프리필 사진의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $width_profile || $size[1] > $height_profile) {
@unlink($dest_path);
alert("프로필 사진이 너무 큽니다. ".$width_profile."x".$height_profile);
}
}
}
}
---------------------------------------------------------------------------------------------
/skin/member/basic/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=ed 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>
<? } ?>
--------------------------
다음에 아래 소스 추가
--------------------------
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원프로필 사진</TD>
<TD class=m_padding><INPUT class=ed type=file name='mb_profile' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(58픽셀)x세로(58픽셀) 이하로 해주세요.<br> (jpg만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<?
$mb_dir = substr($member[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$member[mb_id].jpg";
?>
<? if ($w == "u" && file_exists($profile_file)) { ?>
<br><img src='<?=$profile_file?>' align=absmiddle> <input type=checkbox name='del_mb_profile' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
----------------------------------
추가 수정
----------------------------------
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 false;
}
}
}
--------------------------
다음에 아래 소스 추가
--------------------------
if (typeof f.mb_profile != 'undefined') {
if (f.mb_profile.value) {
if (!f.mb_profile.value.toLowerCase().match(/.(jpg)$/i)) {
alert('회원아이콘이 jpg 파일이 아닙니다.');
f.mb_profile.focus();
return false;
}
}
}
---------------------------------------------------------------------------------------------
/bbs/register_form_update.php 수정
---------------------------------------------------------------------------------------------
// 아이콘 삭제
if ($del_mb_icon)
@unlink("$mb_dir/$mb_id.gif");
$size = getimagesize($dest_path);
// 프리필 사진의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
if ($size[0] > $width_profile || $size[1] > $height_profile) {
@unlink($dest_path);
alert("프로필 사진이 너무 큽니다. ".$width_profile."x".$height_profile);
}
}
}
}
---------------------------------------------------------------------------------------------
/skin/member/basic/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=ed 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>
<? } ?>
--------------------------
다음에 아래 소스 추가
--------------------------
<TR bgcolor="#FFFFFF">
<TD width="160" class=m_title>회원프로필 사진</TD>
<TD class=m_padding><INPUT class=ed type=file name='mb_profile' size=30>
<table width="350" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class=m_padding3>* 이미지 크기는 가로(58픽셀)x세로(58픽셀) 이하로 해주세요.<br> (jpg만 가능 / 용량:<?=number_format($config[cf_member_icon_size])?>바이트 이하만 등록됩니다.)
<?
$mb_dir = substr($member[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$member[mb_id].jpg";
?>
<? if ($w == "u" && file_exists($profile_file)) { ?>
<br><img src='<?=$profile_file?>' align=absmiddle> <input type=checkbox name='del_mb_profile' value='1'>삭제
<? } ?>
</td>
</tr>
</table></TD>
</TR>
----------------------------------
추가 수정
----------------------------------
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 false;
}
}
}
--------------------------
다음에 아래 소스 추가
--------------------------
if (typeof f.mb_profile != 'undefined') {
if (f.mb_profile.value) {
if (!f.mb_profile.value.toLowerCase().match(/.(jpg)$/i)) {
alert('회원아이콘이 jpg 파일이 아닙니다.');
f.mb_profile.focus();
return false;
}
}
}
---------------------------------------------------------------------------------------------
/bbs/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))
{
//=================================================================\
// 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 .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
--------------------------
다음에 아래 소스 추가
--------------------------
// 프로필 사진 삭제
if ($del_mb_profile)
@unlink("$mb_dir/profile_$mb_id.jpg");
$msg = "";
// 프로필 사진 업로드
$width_profile = "59"; // 프로필 사진 가로 크기
$height_profile = "59"; // 프로필 사진 세로 크기
$mb_profile = "";
if (is_uploaded_file($_FILES[mb_profile][tmp_name]))
{
if (preg_match("/(\.jpg)$/i", $_FILES[mb_profile][name]))
{
// 프로필 사진 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_profile][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/profile_$mb_id.jpg";
move_uploaded_file($_FILES[mb_profile][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// jpg 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
if ($size[2] != 2){ // jpg 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
alert("jpg형식이 아닙니다.");
}
else if($size[0] > $width_profile || $size[1] > $height_profile){ // 프로필 사진의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
alert("프로필 사진이 너무 큽니다.".$width_profile."x".$height_profile);
}
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_profile][name] . "은(는) jpg 파일이 아닙니다.";
}
---------------------------------------------------------------------------------------------
프로필 사진 불러오는법
---------------------------------------------------------------------------------------------
<?
$mb_dir = substr($mb[mb_id],0,2); // or $mb_dir = substr($member[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$mb[mb_id].jpg"; // or $profile_file = "$g4[path]/data/member/$mb_dir/profile_$member[mb_id].jpg";
echo "<img src='".$profile_file.">";
?>
$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))
{
//=================================================================\
// 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 .= $_FILES[mb_icon][name] . "은(는) gif 파일이 아닙니다.";
}
--------------------------
다음에 아래 소스 추가
--------------------------
// 프로필 사진 삭제
if ($del_mb_profile)
@unlink("$mb_dir/profile_$mb_id.jpg");
$msg = "";
// 프로필 사진 업로드
$width_profile = "59"; // 프로필 사진 가로 크기
$height_profile = "59"; // 프로필 사진 세로 크기
$mb_profile = "";
if (is_uploaded_file($_FILES[mb_profile][tmp_name]))
{
if (preg_match("/(\.jpg)$/i", $_FILES[mb_profile][name]))
{
// 프로필 사진 용량이 설정값보다 이하만 업로드 가능
if ($_FILES[mb_profile][size] <= $config[cf_member_icon_size])
{
@mkdir($mb_dir, 0707);
@chmod($mb_dir, 0707);
$dest_path = "$mb_dir/profile_$mb_id.jpg";
move_uploaded_file($_FILES[mb_profile][tmp_name], $dest_path);
chmod($dest_path, 0606);
if (file_exists($dest_path))
{
//=================================================================\
// 090714
// jpg 파일에 악성코드를 심어 업로드 하는 경우를 방지
// 에러메세지는 출력하지 않는다.
//-----------------------------------------------------------------
$size = getimagesize($dest_path);
if ($size[2] != 2){ // jpg 파일이 아니면 올라간 이미지를 삭제한다.
@unlink($dest_path);
alert("jpg형식이 아닙니다.");
}
else if($size[0] > $width_profile || $size[1] > $height_profile){ // 프로필 사진의 폭 또는 높이가 설정값 보다 크다면 이미 업로드 된 아이콘 삭제
@unlink($dest_path);
alert("프로필 사진이 너무 큽니다.".$width_profile."x".$height_profile);
}
//=================================================================\
}
}
}
else
$msg .= $_FILES[mb_profile][name] . "은(는) jpg 파일이 아닙니다.";
}
---------------------------------------------------------------------------------------------
프로필 사진 불러오는법
---------------------------------------------------------------------------------------------
<?
$mb_dir = substr($mb[mb_id],0,2); // or $mb_dir = substr($member[mb_id],0,2);
$profile_file = "$g4[path]/data/member/$mb_dir/profile_$mb[mb_id].jpg"; // or $profile_file = "$g4[path]/data/member/$mb_dir/profile_$member[mb_id].jpg";
echo "<img src='".$profile_file.">";
?>
추천
3
3
댓글 4개
설마...
이런분은 안계시겟죠?
fqwfqf
감사합니다.
우와~ 원했던 기능이었는데 친절한 설명, 감사합니다~^^