작성자 ip 조회해서 접속 국가 이미지 표시 ip2nation 사용
사용자 IP를 조회해서 게시판에 접속 국가 이미지를 표시하는 방법입니다.
게시판 뿐만 아니라 아이피가 출력되는 곳이면 어느 페이지에서나 활용 가능합니다.
ip2nation 을 사용했습니다.
http://www.ip2nation.com/ip2nation
위 링크 클릭 후 sql 파일을 받아서 사용하고 계시는 웹서버에 import 하세요.
시간이 오래 걸릴 수 있으니 여유 있게 기다리세요.
정상적으로 올라갔다면 이렇게 생성되어 있을 겁니다.
실제 적용 예시.
1. 게시판 목록에 국가 이미지 표시
수정 파일 : list.skin.php
for ($i=0; $i<count($list); $i++) {
위 코드 바로 밑에 추가
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$list[$i]['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
원하는 위치에 추가
<img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png">
2. 글 보기 페이지에 국가 이미지 표시
수정 파일 : view.skin.php
상단에 추가
$row_ip = sql_fetch(" SELECT country FROM ip2nation WHERE ip < INET_ATON('{$view['wr_ip']}') ORDER BY ip DESC LIMIT 0,1 ");
$ip_flag = $row_ip['country'];
원하는 위치에 추가
<img src="<?php echo G5_IMG_URL ?>/flags/<?php echo $ip_flag ?>.png">
3. 국기 이미지 추가
http://www.famfamfam.com/lab/icons/flags/
파일을 받아서 그누보드 루트 img 폴더 안에 flags 폴더 생성 후 이미지 파일 추가
gif, png 두 종류가 있는데 예제는 png 파일로 해놨습니다.
폴더가 이중으로 생성되지 않게 유의하세요.
이런 형태가 돼야 합니다. /img/flags/이미지.png
## 추가 내용 ##
아이콘 대신에 국가 이름으로 출력하기
$row_ip = " SELECT c.country FROM ip2nationCountries c, ip2nation i WHERE i.ip < INET_ATON('{$list[$i]['wr_ip']}') AND c.code = i.country ORDER BY i.ip DESC LIMIT 0,1 ";
$result = sql_query($row_ip );
$ip_nation = sql_fetch_array($result);
위 코드로 대체 후 원하는 위치에 추가
<?php echo $ip_nation['country'] ?>
적용 후 화면
현재 접속자 페이지에 출력하는 방법을 추가로 올렸습니다.
https://gnustudy.com/bbs/board.php?bo_table=skin_etc&wr_id=80
댓글목록 +2
댓글목록
그누공부중님의 댓글
그누공부중 작성일오늘도 좋은 팁 감사합니다.
ramudi님의 댓글의 댓글
ramudi 작성일혹시 원하는 위치, 상단이 무엇을 의미하는 지 알 수 있을까요. 저는 해보니까 안되네요. 제 잘못 같은데... 제 잘못일텐데...