웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[제로카운터] 자동으로 DB를 지우자. (IP와 referer 5일 분량만 남기기)
2003.12.17 04:06
제로카운터. 사용자의 마음대로 꾸미기가 가능하고 강력한 통계기능을 가진 좋은 카운터죠.
하지만 이에도 문제점이 있었으니 바로 엄청난 양의 db를 차지한다는 것입니다.
모든 방문자의 IP 주소와 referer 를 db에 저장하기 때문에
방문객이 1만명, 10만명으로 늘어날수록 db의 용량은 엄청나게 늘어납니다.
그래서, 이 같은 문제점 때문에 제로카운터의 사용을 포기하는 경우가 많은데요.
IP와 referer DB를 5일분량만 남기고 그 이전의 것은 모두 삭제해버리면 이 문제는 간단히 해결됩니다.
물론, 카운터수는 그대로 유지되기 때문에 1년전의 카운터수도 알 수 있습니다.
단지, 별 필요없는 IP 정보와 referer 만 삭제하는 것이죠.
(제로카운터가 정상적으로 작동한다고 가정하고...)
zerocounter.php3 파일을 메모장으로 불러옵니다.
53번째 줄에 보면
//------------------- 카운터 값 읽어오는 부분 -----------------------------------
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
부분이 있죠. 여기에
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
를 넣어줍니다.
즉, 수정하면
//------------------- 카운터 값 읽어오는 부분 ----------------------------------------------------------------------
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
이렇게 되는 것이죠. 새롭게 추가한 것 소스는 5일이 지난 IP 정보와 referer 정보를 지워버리는 것입니다.
zerocounter.php3 파일은 제로카운터가 실행될 때마다 로딩되기 때문에
자동으로 db를 지워줍니다.
이렇게 하면 db 용량도 별로 차지하지 않고 정기적으로 db를 삭제해줘야하는 불편도 없습니다.
(제가 이 팁을 nzeo의 어디선가 보았는데요. 다시 찾아보니 찾을수가 없어서 다시 적어보았습니다.)
하지만 이에도 문제점이 있었으니 바로 엄청난 양의 db를 차지한다는 것입니다.
모든 방문자의 IP 주소와 referer 를 db에 저장하기 때문에
방문객이 1만명, 10만명으로 늘어날수록 db의 용량은 엄청나게 늘어납니다.
그래서, 이 같은 문제점 때문에 제로카운터의 사용을 포기하는 경우가 많은데요.
IP와 referer DB를 5일분량만 남기고 그 이전의 것은 모두 삭제해버리면 이 문제는 간단히 해결됩니다.
물론, 카운터수는 그대로 유지되기 때문에 1년전의 카운터수도 알 수 있습니다.
단지, 별 필요없는 IP 정보와 referer 만 삭제하는 것이죠.
(제로카운터가 정상적으로 작동한다고 가정하고...)
zerocounter.php3 파일을 메모장으로 불러옵니다.
53번째 줄에 보면
//------------------- 카운터 값 읽어오는 부분 -----------------------------------
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
부분이 있죠. 여기에
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
를 넣어줍니다.
즉, 수정하면
//------------------- 카운터 값 읽어오는 부분 ----------------------------------------------------------------------
$date = 60 * 60 * 24 * 5;
mysql_query("delete from counter_ip where (".time()." - date) >= ".$date) or error(mysql_error());
mysql_query("delete from counter_referer where (".time()." - date) >= ".$date) or error(mysql_error());
// 전체
$total=mysql_fetch_array(mysql_query("select unique_counter, pageview from counter_main where no=1", $connect));
$count[total_hit]=$total[0];
$count[total_view]=$total[1];
이렇게 되는 것이죠. 새롭게 추가한 것 소스는 5일이 지난 IP 정보와 referer 정보를 지워버리는 것입니다.
zerocounter.php3 파일은 제로카운터가 실행될 때마다 로딩되기 때문에
자동으로 db를 지워줍니다.
이렇게 하면 db 용량도 별로 차지하지 않고 정기적으로 db를 삭제해줘야하는 불편도 없습니다.
(제가 이 팁을 nzeo의 어디선가 보았는데요. 다시 찾아보니 찾을수가 없어서 다시 적어보았습니다.)
댓글 4
-
김기엽
2003.12.17 10:00
제로카운터 어디서 받을수 있습니까? -
후니
2003.12.17 19:18
김기엽 // 자작프로그램 자료실에 가시면 메인에 뜹니다 -
원밖에서
2004.03.04 14:45
좋은 정보, 감사합니다 ^-^* -
우현아
2006.01.10 03:13
감사합니다 골칫거리 하나 해결했네여
제목 | 글쓴이 | 날짜 |
---|---|---|
초보분들을 위한 연산자 총정리 [6] | TheMics | 2002.01.29 |
이제 PHP에 ?id=가나다라 같은것을 넣자! [12] | 담배를끊으면복이옴과 | 2002.01.30 |
이제 홈페이지 업데이트 안하는 수모를 겪지 말자! [7] | 담배를끊으면복이옴과 | 2002.02.02 |
md5() 알고리듬 [8] | 양창민 | 2002.02.05 |
원고지 함수;; [3] | 디쓰 | 2002.02.07 |
한글 필터링 정확히 하기 [1] | mini | 2002.02.09 |
필터링조금 다른거.. [7] | 두기두바 | 2002.02.10 |
좋은 난수값을 얻기위한 시드배정 방법 mt_srand(), srand() | 차카게살자 | 2002.02.21 |
제로보드 분석 -1- [4] | 제키드+_+)/ | 2002.02.21 |
PHP 소스 보이게 하기; [5] | Topy | 2002.02.21 |
in_array 함수이용한 업로드금지 [3] | 김승제 | 2002.02.21 |
date 함수의 매개 변수 | Topy | 2002.02.22 |
제로보드 분석 -2- [2] | 제키드+_+)/ | 2002.02.22 |
복잡해? 줄여! [3] | 제키드+_+)/ | 2002.02.22 |
[lib] fun 문자열속의 url에 링크를 거는 함수 [2] | Topy | 2002.02.22 |
[lib] fun. alert message (경고 메시지) [1] | Topy | 2002.02.22 |
for 문에 대한 이해, 구구단 만들어 보기. [3] | Topy | 2002.02.22 |
http://홈주소/?mode=xxx 하는방법 :) [5] | 제니 | 2002.02.23 |
[re | 씽크식 PHP] 많고 많은 페이지들을 하나로 줄이자! [2] | John Sync. | 2002.02.24 |
많고 많은 페이지들을 하나로 줄이자! [7] | 제키드+_+)/ | 2002.02.23 |