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년 전
네이비칼라님 감사합니다
채택해드리고 싶은데 한분만 가능하네요..
그래서 좋아요 눌러드렸어요
죄송해요 답변주셨는데..
채택해드리고 싶은데 한분만 가능하네요..
그래서 좋아요 눌러드렸어요
죄송해요 답변주셨는데..
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
접속자수도 살펴보겠습니다 감사합니다
채택해드렸습니다.