모바일 접속자수 체크

모바일 접속자수 체크

QA

모바일 접속자수 체크

본문

모바일 접속자수를 체크할려면 어떻게 해야할까요?

편리님 도와주세요~~~ ^^


이 질문에 댓글 쓰기 :

답변 2

그누보드5의 경우
/bbs 폴더내 visit_insert_inc.php 내에
visit 테이블에 insert 하는 내용을 보시면 $user_agent  = escape_trim($_SERVER['HTTP_USER_AGENT']);
값을 테이블 저장시킵니다.

그리고 관리자 페이지 에서 브라우저별 접속자 집계화면을 보여줄때 아래와 같은 get_brow()함수를 호출해서
9가지로 나누어서만 표시해줍니다.

이 함수를 세분화 해서 모바일 AGENT로 정의한 아래 내용을 아래 함수에 추가해주고 
모바일이라고 정의하면 관리자페이지에서 모바일 접속 수를 자세히 보실수 있습니다.

define('G5_MOBILE_AGENT',   'phone|samsung|lgtel|mobile|[^A]skt|nokia|blackberry|android|sony');


예를 들자면 get_brow()함수를 구체적으로 세분화 해서
Mozilla 로 잡히는 부분을 제외시키고 디비에 저장된 agent를 분석해서 룰을 추가해주셔야됩니다.

else if(preg_match("/samsung/", $agent))            { $s = "Mobile"; }

이렇게 함수에 추가해주면 samsung agent로 들어오는 접속통계를 Mobile 브라우저로 표시되도록 할 수 있습니다.

function get_brow($agent)
{
    $agent = strtolower($agent);

    //echo $agent; echo "<br/>";

    if (preg_match("/msie ([1-9][0-9]\.[0-9]+)/", $agent, $m)) { $s = 'MSIE '.$m[1]; }
    else if(preg_match("/firefox/", $agent))            { $s = "FireFox"; }
    else if(preg_match("/chrome/", $agent))             { $s = "Chrome"; }
    else if(preg_match("/x11/", $agent))                { $s = "Netscape"; }
    else if(preg_match("/opera/", $agent))              { $s = "Opera"; }
    else if(preg_match("/gec/", $agent))                { $s = "Gecko"; }
    else if(preg_match("/bot|slurp/", $agent))          { $s = "Robot"; }
    else if(preg_match("/internet explorer/", $agent))  { $s = "IE"; }
    else if(preg_match("/mozilla/", $agent))            { $s = "Mozilla"; }
    else { $s = "기타"; }

    return $s;
}


추가로 get_os() 함수를 아래와 같이 수정하시면 운영체제 부분에서 모바일과 모바일이 아닌 접속자수로
쉽게 구분도 가능합니다.




function get_os($agent)
{
    $agent = strtolower($agent);

    //echo $agent; echo "<br/>";

    if (preg_match("/".G5_MOBILE_AGENT."/", $agent))                 { $s = "Mobile"; }
    else if (preg_match("/windows 98/", $agent))                 { $s = "98"; }
    else if(preg_match("/windows 95/", $agent))             { $s = "95"; }
    else if(preg_match("/windows nt 4\.[0-9]*/", $agent))   { $s = "NT"; }
    else if(preg_match("/windows nt 5\.0/", $agent))        { $s = "2000"; }
    else if(preg_match("/windows nt 5\.1/", $agent))        { $s = "XP"; }
    else if(preg_match("/windows nt 5\.2/", $agent))        { $s = "2003"; }
    else if(preg_match("/windows nt 6\.0/", $agent))        { $s = "Vista"; }
    else if(preg_match("/windows nt 6\.1/", $agent))        { $s = "Windows7"; }
    else if(preg_match("/windows nt 6\.2/", $agent))        { $s = "Windows8"; }
    else if(preg_match("/windows 9x/", $agent))             { $s = "ME"; }
    else if(preg_match("/windows ce/", $agent))             { $s = "CE"; }
    else if(preg_match("/mac/", $agent))                    { $s = "MAC"; }
    else if(preg_match("/linux/", $agent))                  { $s = "Linux"; }
    else if(preg_match("/sunos/", $agent))                  { $s = "sunOS"; }
    else if(preg_match("/irix/", $agent))                   { $s = "IRIX"; }
    else if(preg_match("/bot|slurp/", $agent))              { $s = "Robot"; }
    else if(preg_match("/internet explorer/", $agent))      { $s = "IE"; }
    else if(preg_match("/mozilla/", $agent))                { $s = "Mozilla"; }
    else { $s = "기타"; }

    return $s;
}




답변을 작성하시기 전에 로그인 해주세요.
전체 28
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT