작성자 ip 조회해서 접속 국가 이미지 표시 ip2nation 사용
페이지 정보
작성자 러브렛 작성일 22-03-27 10:37 조회 413 댓글 0 GNUboard 5본문
사용자 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'] ?>
적용 후 화면
관련링크
0 Comments
등록된 댓글이 없습니다.