그누보드 게시판 코멘트(댓글) 영역에 회원 프로필 이미지 출력하기
페이지 정보

본문
그누보드 운영자와 개발자가 게시판 댓글 목록 페이지(view_comment.skin.php)를 수정하여 회원이 가입 시 등록한 프로필 이미지를 출력하는 방법과 예외 처리 방법을 안내합니다.
게시판 코멘트(댓글) 영역에 회원 프로필 이미지 출력하기
그누보드 basic 스킨을 기준으로 게시판 댓글 목록 영역인 skin/board/basic/view_comment.skin.php 파일을 수정하여 회원이 등록한 프로필 이미지를 출력할 수 있습니다. 회원 고유 ID(mb_id)를 기반으로 이미지 저장 경로를 확인하고, 등록된 이미지가 없으면 기본 이미지를 출력하는 방식을 사용합니다.
1. 수정 파일 위치
skin/board/basic/view_comment.skin.php
2. 코드 수정 방법
그누보드 5.3 이상 버전에서는 내장 함수를 사용하는 것이 권장됩니다. view_comment.skin.php 파일 내 코멘트 출력 루프 안에서 아래 코드를 추가하십시오.
<td valign="top" align="left" width="58">
<?php echo get_member_profile_img($list[$i]['mb_id']);?>
</td>
그누보드 4 등 구버전에서 직접 경로를 지정해야 하는 경우, 아래와 같이 작성할 수 있습니다.
<td valign="top" align="left" width="58">
<?php
$mb1_dir = substr($list[$i]['mb_id'], 0, 2);
$mb_1 = "{$g4['path']}/data/member_image/{$mb1_dir}/{$list[$i]['mb_id']}.gif";
if (!$list[$i]['mb_id'] ||!file_exists($mb_1)) {
echo "<img src='{$g4['path']}/img/member_noimg.gif'>";
} else {
echo "<img src='{$mb_1}'>";
}
?>
</td>
3. 주의사항 및 확인 사항
- 회원 이미지 저장 경로(
/data/member_image/) 및 버전별 상수 체계($g4[path]등)는 사용하는 그누보드 버전(G4 및 G5) 환경에 따라 다를 수 있으므로 서버 내 실제 경로와 변수 설정을 확인해야 합니다. - 파일 수정 전 원본
skin/board/basic/view_comment.skin.php파일을 백업하는 것을 권장합니다.
코멘트 회원 프로필 이미지 출력 시 기본 이미지 처리
그누보드 게시판 코멘트(댓글) 영역에 회원이 프로필 이미지를 등록하지 않았거나 비회원 상태인 경우, 이미지 깨짐이나 오류를 방지하기 위해 기본 대체 이미지를 출력하도록 조건문(if 문)을 구성할 수 있습니다.
확인 및 출력 조건
- 회원 아이디 및 파일 존재 여부 확인:
file_exists함수를 통해data/member_image/경로에 해당 회원의 아이디로 된 이미지 파일이 실제로 존재하는지 확인합니다. - 조건에 따른 출력 분기:
- 회원이 아니거나 이미지 파일이 없는 경우:
$list[$i][mb_id]값이 없거나file_exists검사 결과가 거짓(false)일 때, 기본 대체 이미지 파일인member_noimg.gif를 출력합니다. - 이미지가 존재하는 경우: 조건이 참(
true)일 경우 해당 회원의 프로필 이미지 경로($mb_1)를 출력합니다.
- 회원이 아니거나 이미지 파일이 없는 경우:
적용 코드 예시
그누보드 5.3 이상을 사용 중이라면 별도의 조건문 없이 내장 함수를 호출하는 것으로 충분합니다.
<?php echo get_member_profile_img($list[$i]['mb_id']);?>
내장 함수를 사용할 수 없는 환경(G4 등)에서는 아래와 같이 파일 존재 여부를 확인하여 기본 이미지를 출력합니다.
<?php
$mb1_dir = substr($list[$i]['mb_id'], 0, 2);
$mb_1 = "{$g4['path']}/data/member_image/{$mb1_dir}/{$list[$i]['mb_id']}.gif";
if (!$list[$i]['mb_id'] ||!file_exists($mb_1)) {
echo "<img src='{$g4['path']}/img/member_noimg.gif'>";
} else {
echo "<img src='{$mb_1}'>";
}
?>
그누보드 게시판 코멘트(댓글) 영역에 회원 프로필 이미지를 출력하려면, 사용하는 그누보드 버전에 따라 접근 방식이 다릅니다.
1. 그누보드 5.3 이상 버전
그누보드 5.3부터는 회원 프로필 이미지 출력 기능이 내장되어 있습니다. view_comment.skin.php 파일 내 댓글 출력 루프 안에서 아래 함수를 사용하여 간편하게 출력할 수 있습니다.
- 코드 예시:
<?php echo get_member_profile_img($list[$i]['mb_id']);?> - 참고: 해당 함수는
lib/common.lib.php에 정의되어 있으며, 회원 아이디만 있으면 어디서든 호출 가능합니다.
2. 그누보드 4 또는 이전 버전
내장 함수가 없는 경우, 직접 파일 경로를 지정하여 이미지를 불러와야 합니다. 일반적으로 data/member_image/ 또는 data/member/ 경로에 저장된 파일을 확인합니다.
- 수정 파일:
skin/board/basic/view_comment.skin.php - 적용 로직: 회원 아이디의 앞 2글자를 추출하여 해당 폴더 내에 이미지 파일(예:.gif,.jpg)이 존재하는지
file_exists()로 확인한 후 출력합니다. - 주의사항: 서버 환경에 따라 이미지 저장 경로가 다를 수 있으므로, 실제 서버 내
data폴더 구조를 먼저 확인해야 합니다.
3. 확인 및 주의사항
- 백업 필수: 스킨 파일을 수정하기 전 반드시 원본 파일을 백업하십시오.
- 이미지 경로: 버전별로
data/member_image/와data/member/등 경로가 다를 수 있으므로, 본인의 설치 환경에 맞는 경로를 사용해야 합니다.
상황별 가이드
- 내 상황: 그누보드 게시판 코멘트(댓글) 영역에 회원이 가입 시 등록한 프로필 이미지를 출력하고자 함
- 선택 기준: 사용 중인 그누보드 버전에 따라 방식 결정 (그누보드4 및 구버전은 파일 경로 직접 체크 방식 적용, 그누보드 5.3 이상은 내장 함수 활용 가능)
- 다음 행동:
skin/board/basic/view_comment.skin.php파일을 백업한 뒤, 해당 코멘트 출력 영역에 이미지 경로 확인 및 출력 코드를 추가하고 정상 노출 여부 검증
실전 FAQ
- Q. 회원이 이미지를 등록하지 않았거나 비회원일 때 이미지가 깨져 나옵니다. 어떻게 처리하나요?
- 대안:
file_exists()함수와 조건문을 사용하여data/member_image/폴더에 해당 회원의 이미지 파일이 존재하는지 확인하고, 파일이 없거나 비회원인 경우 기본 대체 이미지(member_noimg.gif)를 출력하도록 설정합니다.
- 대안:
- Q. 그누보드5 최신 버전에서도 위와 동일한 코드를 그대로 사용해도 되나요?
- 예외 및 대안: 그누보드 5.3 이상 버전에서는
get_member_profile_img($list[$i]['mb_id'])함수를 지원하므로, 직접 경로를 조합하는 코드 대신 해당 함수를 코멘트 출력 루프 내에 적용하는 것이 더 안전합니다.
- 예외 및 대안: 그누보드 5.3 이상 버전에서는
함께 보면 좋은 글
- 그누보드 5.3 이상 회원 프로필 이미지 출력 함수 활용법
- 그누보드 사이트뷰 기본 프로필 이미지(noprofile.gif) 출력 제거 방법
- 그누보드에서 회원 아이콘 미등록 시 기본 이미지 출력 설정 방법
참고자료
기타 참고자료
- 이전글그누보드4 게시판 내용보기 브라우저 타이틀에 카테고리명 포함시키기 26.10.14
- 다음글그누보드4 게시판 및 그룹 관리자 권한 부여 로직 수정 26.10.14
댓글목록
등록된 댓글이 없습니다.