본문 바로가기

IT/PHP

사용자 user_agent를 더욱쉽게 get_browser 함수



어쩌다 사용자의 환경 로그를 쌓을 필요가 생겼다.

그래서 늘 해오던 식으로 $_SERVER['HTTP_USER_AGENT']를 이용해서 만들어가던중

문자열 자르기가 너무 귀찮았다.

더 쉬운방법이 없을까? 한번 구글링을 해보았더니


정식 PHP 메뉴얼 홈페이지 php.net에 get_browser.php 함수가 존재하는걸 찾아냈다.




<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser get_browser(nulltrue);
print_r($browser);

?>

위 내용처럼 사용하면되는데 이걸 사용하기 위해선 전제조건으로

php.ini 파일을 수정할 필요가 있다.

해당 서버의 php.ini 파일을 찾아내어 browscap로 검색하보면 인클루드를 시키는 곳이

주석처리되어있을것이다.


[browscap]

; http://php.net/browscap

;browscap="C:\xampp\php\extras\browscap.ini"



이런식으로 되어있고 앞에 세미콜론(;) 을 지워주어 주석을 해제시켜주고

해당 파일을 위에 나온 경로에다 넣어주어야한다.

난 xampp를 쓰고있었기 때문에 해당위치에 파일을 업로드해 두었다.


http://browscap.org/   -> 다운로드 링크


php공식홈페이지에 링크가 있어 링크도 남긴다.


이파일을 다운로드후 업로드해주면 정상적으로 동작된다!!


완전 좋은 함수인것같다.


Array
(
    [browser_name_regex] => �^mozilla/5\.0 \(.*windows nt 6\.1.*\) applewebkit/.* \(khtml.* like gecko\) chrome/54\..*safari/.*$�
    [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.1*) AppleWebKit/* (KHTML* like Gecko) Chrome/54.*Safari/*
    [parent] => Chrome 54.0
    [platform] => Win7
    [comment] => Chrome 54.0
    [browser] => Chrome
    [browser_maker] => Google Inc
    [version] => 54.0
    [majorver] => 54
    [device_type] => Desktop
    [device_pointing_method] => mouse
    [minorver] => 0
    [ismobiledevice] => 
    [istablet] => 
    [crawler] => 
)


내가 사용해 보았더니 이런식으로 나오다.


platform 은 windows7

browser는 크롬

device_type은 데스크탑 즉 PC

ismobiledevice는 모바일로 접속했을경우 뜰것같고.

istablet은 1이면 태블릿 없으면 아닌것.


어때요? 완전 좋지않아요??

'IT > PHP' 카테고리의 다른 글

php date 한달전  (0) 2016.05.25
php + 환율 얻기.  (0) 2016.05.25
getImagesize 노드발생 서버오류  (0) 2016.05.18