웹마스터 팁

홈페이지 접속자 국가 국기 표시 적용 방법입니다. 


1. IP to Country 자료 다운로드 및 수정

아래 링크에서 ip-country.csv.zip 파일을 다운로드 합니다.
http://ip-to-country.webhosting.info/node/view/6
압축 해제 후 엑셀로 파일을 열어보면 맨 첫줄이 다음과 같습니다.
[ 16777216, 17367039, AU, AUS, AUSTRALIA ]
앞의 두 칼럼은 IP Address 범위의 시작과 끝 값을 나타냅니다.
(범위 값 계산법 : IP가 111.222.333.444 인 경우 111 x (256x256x256) + 222 x (256x256) + 333 x 256 + 444)
세번째, 네번째 칼럼은 ISO 3166에 의거한 두글자, 세글자 국가 코드이고
마지막 칼럼은 ISO 3166에 의거한 국가 이름입니다.
이 중 네번째 칼럼인 세글자 국가 코드열을 삭제하여 아래와 같이 만들어 주고 저장해주세요.
[ 16777216, 17367039, AU, AUSTRALIA ]
어차피 세글자 국가코드는 사용할 일이 없으니 삭제하는거지만 그대로 하셔도 상관은 없습니다. 
DB Import 하실때 그 부분 적용해주시면 되겠습니다.

http://dev.maxmind.com/geoip/legacy/geolite/ 
위 링크에서 GeoLite Country CSV 형식을 다운로드 받아 첫번째 두번째 칼럼을 삭제해도 됩니다.
어느 데이터가 더 정확한지는 모르겠습니다. 
두가지 데이터 모두 4컬럼으로 수정한 파일 첨부했고, 추후 업데이트시 위 내용 참고하시면 되겠습니다.


2. 국기 이미지 다운로드

아래 링크에서 국가 이미지 파일을 다운로드 합니다.
http://ip-to-country.webhosting.info/node/view/91
FTP로 계정에 접속하여 루트(or XE폴더)에 iptocountry/img 폴더를 만든 뒤 다운로드 받은 이미지를 업로드해주세요.
적당한 크기(20x13) 로 수정한 파일을 첨부했습니다.


3. 1번에서 수정한 csv 파일 DB에 import 

PhpMyadmin 에 접속합니다.
iptocountry 라는 이름의 필드 4개짜리 테이블을 만듭니다.
1.PNG
Import 메뉴에서 1번에서 수정한 csv 파일을 선택해주시고
Format of imported file 은 CSV using LOAD DATA 선택, 파일로 테이블 대치하기, 
Ignore duplicate rows 체크, 필드 구분자는 [ , ] 로 수정 후 실행 버튼 클릭
2.PNG
Import has been succeessfully finished 메세지와 레코드수, 내용 누락 없이 import 되었는지 확인합니다.



4. 적용

아래 소스를 알맞게 수정해서 게시판 스킨이나 레이아웃 등의 원하는 위치에 넣어줍니다.
소스가 수정할때마다 사라져서 부득이하게 이미지로 올립니다.
첨부파일의 ipcountry.php 파일 내용과 같습니다. 복사해서 사용하세요.
3.PNG
글 작성자 혹은 댓글 작성자의 국가 국기 표시를 위해서는
글 작성자의 경우 {@ $dip = $oDocument->getIpaddress();}
댓글 작성자의 경우 {@ $dip = $comment->getIpaddress();}
구문을 위 소스 1번 라인 위 가장 상단에 덧붙여 주시고
5번 라인 마지막 부분 $ip 값을 $__Context->dip 로 변경해주시면 됩니다.


작년 초 정도에 모듈(+애드온)을 제작하다가 
프로그램 전공이 아니라 많은 난관에 부딪혀 일단 모듈화 작업은 포기입니다.
최대한 간단하게 정리해서 수동 적용 방법이라도 올려봅니다.
다른 분이 모듈화 혹은 더 나은 방법이나 방향으로 수정배포 하셔도 좋겠습니다.
위 내용에 문제점 있으면 댓글이나 쪽지 부탁드리구요.
궁금하신 점에 대한 답변은 아는 선에서 최대한 해드리겠습니다.
제목 글쓴이 날짜
쭘's식 홈페이지 만들기 No.3 - 깔끔 노프레임 (미리보기 포함) [37] file 쭘's 2003.06.07
노프레임 홈페이지 만들기 강좌 file H.N커뮤니티 2009.02.28
사이트접속시 모바일기기 접속이면 설정한 페이지로 이동시키기 홈피닥터 2014.03.09
홈페이지 주소창 상세 링크 안보이게 설정 헤이즈디자인 2014.03.09
페이지 모듈에서 다국어 기능 작동 안 하는 버그 패치법 [1] sejin7940 2014.03.04
xe 홈페이지 폰갭으로 묶을때 웹빌드 2014.03.03
홈페이지 접속자, 글(댓글) 작성자 국가 국기 표시 적용 방법 [19] file 라싸 2014.01.08
페이지가 갑자기 하얀화면으로 나올경우에는 이렇게 해보십시오. [9] file 하나로45 2007.12.13
2014년 2월 12일부터 갑자기 사이트(관리자 페이지)가 깨지는 경우. 새하나모 2014.02.12
1.7.4 - 페이지나 게시판 생성 후 설정화면에 가면 '사이트기본스킨사용' 이 적용되지 않는 버그 해결법 sejin7940 2014.02.08
'본문내 이미지 조절 애드온' 이 페이지모듈에서는 자동으로 작동 안 하게 하는 방법 sejin7940 2013.11.23
페이지로딩시 메모리 부족이란 오류메시지가 뜰때... 똑디 2013.11.07
XE설치시 정상적으로 설치완료가 되지 않고 404 페이지가 뜨는경우 [4] ZEME 2013.06.04
XE 1.7 에서 닉네임 클릭시 홈페이지나 블로그 등이 새창으로 안 뜨는 버그 수정법 [1] sejin7940 2013.10.07
IE7에서 관리자페이지->콘텐츠->문서 에서 일괄 삭제/이동/복사 등이 안 되는 경우 [1] sejin7940 2012.07.12
모바일 게시판의 목록수 / 페이지수 / 검색시 목록수 등을 별도 설정할 수 있게하려면 [2] sejin7940 2012.12.30
빠른 글 쓰기 - 메인 페이지에서 글 쓰기 [1] file 윈컴이 2013.09.23
XP + IE8 에서 갑자기 페이지 오류메시지가 뜰 경우 [1] file 다크진 2013.09.14
외부페이지에서 로그인 폼 구현하기 컴퓨터매니아 2013.09.09
위젯 페이지에서 첨부파일 100%로 파일이 업로드되지 않을 때 이온디 2013.09.04