테스트 사이트 - 개발 중인 베타 버전입니다

visit_insert.inc.php 파일 튜닝 채택완료

오육칠팔 10년 전 조회 3,708

이것때문에 부하가 많은데요..

 

visit_insert.inc.php 

 

파일에 접속자 로그는 안쌓이고..

 

그냥 오늘접속자와 전체접속현황은 그대로 나오게 하고싶습니다.

 

이를경우 어떻게 하면 될까요?

 

// 방문자수의 접속을 남김

//include_once(G5_BBS_PATH.'/visit_insert.inc.php');

 

주석처리로 하면 되지만 이럴경우 전체접속자와 오늘접속수을 확인못한네요

 

 

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
10년 전

</p><p><?php</p><p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p><p> </p><p>// 컴퓨터의 아이피와 쿠키에 저장된 아이피가 다르다면 테이블에 반영함</p><p>if (get_cookie('ck_visit_ip') != $_SERVER['REMOTE_ADDR'])</p><p>{</p><p>    set_cookie('ck_visit_ip', $_SERVER['REMOTE_ADDR'], 86400); // 하루동안 저장</p><p> </p><p>    $sql = " insert {$g5['visit_sum_table']} ( vs_count, vs_date) values ( 1, '".G5_TIME_YMD."' ) ";</p><p>    $result = sql_query($sql, FALSE);</p><p> </p><p>    // DUPLICATE 오류가 발생한다면 이미 날짜별 행이 생성되었으므로 UPDATE 실행</p><p>    if (!$result) {</p><p>        $sql = " update {$g5['visit_sum_table']} set vs_count = vs_count + 1 where vs_date = '".G5_TIME_YMD."' ";</p><p>        $result = sql_query($sql);</p><p>    }</p><p> </p><p>    // INSERT, UPDATE 된건이 있다면 기본환경설정 테이블에 저장</p><p>    // 방문객 접속시마다 따로 쿼리를 하지 않기 위함 (엄청난 쿼리를 줄임 ^^)</p><p> </p><p>    // 오늘</p><p>    $sql = " select vs_count as cnt from {$g5['visit_sum_table']} where vs_date = '".G5_TIME_YMD."' ";</p><p>    $row = sql_fetch($sql);</p><p>    $vi_today = $row['cnt'];</p><p> </p><p>    // 어제</p><p>    $sql = " select vs_count as cnt from {$g5['visit_sum_table']} where vs_date = DATE_SUB('".G5_TIME_YMD."', INTERVAL 1 DAY) ";</p><p>    $row = sql_fetch($sql);</p><p>    $vi_yesterday = $row['cnt'];</p><p> </p><p>    // 최대</p><p>    $sql = " select max(vs_count) as cnt from {$g5['visit_sum_table']} ";</p><p>    $row = sql_fetch($sql);</p><p>    $vi_max = $row['cnt'];</p><p> </p><p>    // 전체</p><p>    $sql = " select sum(vs_count) as total from {$g5['visit_sum_table']} ";</p><p>    $row = sql_fetch($sql);</p><p>    $vi_sum = $row['total'];</p><p> </p><p>    $visit = '오늘:'.$vi_today.',어제:'.$vi_yesterday.',최대:'.$vi_max.',전체:'.$vi_sum;</p><p> </p><p>    // 기본설정 테이블에 방문자수를 기록한 후</p><p>    // 방문자수 테이블을 읽지 않고 출력한다.</p><p>    // 쿼리의 수를 상당부분 줄임</p><p>    sql_query(" update {$g5['config_table']} set cf_visit = '{$visit}' ");</p><p>}</p><p>?></p><p>

 

해당 파일을 이렇게 사용하시면 될것 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

오육칠팔
10년 전
일단 관리자에서 보니 접속자 로그는 안쌓이네요 ^^

접속자수도 살펴보겠습니다 감사합니다

채택해드렸습니다.

댓글을 작성하려면 로그인이 필요합니다.

10년 전

    // 정상으로 INSERT 되었다면 방문자 합계에 반영     if ($result) { 이것 위부분에 $sql 과 $result 를 주석처리하고

 

if ($result) { 이것을 if ($remote_addr) { 로 처리하시면 되지 않을까요?

 

실제 해 보지는 못했고 잠깐 파일내용을 보고 생각한거라 실제와는 많이 다를 수 있습니다 ㅎㅎㅎ

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

오육칠팔
10년 전
네이비칼라님 감사합니다

채택해드리고 싶은데 한분만 가능하네요..

그래서 좋아요 눌러드렸어요

죄송해요 답변주셨는데..

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인