어쩌다 사용자의 환경 로그를 쌓을 필요가 생겼다.
그래서 늘 해오던 식으로 $_SERVER['HTTP_USER_AGENT']를 이용해서 만들어가던중
문자열 자르기가 너무 귀찮았다.
더 쉬운방법이 없을까? 한번 구글링을 해보았더니
정식 PHP 메뉴얼 홈페이지 php.net에 get_browser.php 함수가 존재하는걸 찾아냈다.
<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
$browser = get_browser(null, true);
print_r($browser);
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";
$browser = get_browser(null, true);
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 |