웹모아 
웹모아     로그인   
웹모아
 
사용자함수예제
 


PHP 함수를 이용해 간단히 브라우저 종류를 알아내는 방법을
  2015-07-06 17:09:47 조회:1416
글자수:1318


function getBrowser() {
$u_agent = $_SERVER['HTTP_USER_AGENT'];
$bname = 'Unknown';
$platform = 'Unknown';
$version= "";

//First get the platform?
if (preg_match('/linux/i', $u_agent)) { $platform = 'linux'; }
elseif (preg_match('/macintosh|mac os x/i', $u_agent)) { $platform = 'mac'; }
elseif (preg_match('/windows|win32/i', $u_agent)) { $platform = 'windows'; }

// Next get the name of the useragent yes seperately and for good reason
if(preg_match('/MSIE/i',$u_agent) && !preg_match('/Opera/i',$u_agent)) { $bname = 'Internet Explorer'; $ub = "MSIE"; }
elseif(preg_match('/Firefox/i',$u_agent)) { $bname = 'Mozilla Firefox'; $ub = "Firefox"; }
elseif(preg_match('/Chrome/i',$u_agent)) { $bname = 'Google Chrome'; $ub = "Chrome"; }
elseif(preg_match('/Safari/i',$u_agent)) { $bname = 'Apple Safari'; $ub = "Safari"; }
elseif(preg_match('/Opera/i',$u_agent)) { $bname = 'Opera'; $ub = "Opera"; }
elseif(preg_match('/Netscape/i',$u_agent)) { $bname = 'Netscape'; $ub = "Netscape"; }

// finally get the correct version number
$known = array('Version', $ub, 'other');
$pattern = '#(?<browser>' . join('|', $known) .
')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern, $u_agent, $matches)) {
// we have no matching number just continue
}

// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($u_agent,"Version") < strripos($u_agent,$ub)){ $version= $matches['version'][0]; }
else { $version= $matches['version'][1]; }
}
else { $version= $matches['version'][0]; }

// check if we have a number
if ($version==null || $version=="") {$version="?";}
return array('userAgent'=>$u_agent, 'name'=>$bname, 'version'=>$version, 'platform'=>$platform, 'pattern'=>$pattern);
}</version></browser>

// 사용법
// $ua = getBrowser();
// if($ua[name] == 'Internet Explorer' && $ua[version] < 8) { echo 'Internet Explorer 8 이하의 버전을 사용하고 계십니다'; }

// $ua[userAgent] : 유저에이전트 정보.
// $ua[name] : 브라우저 이름.
// $ua[version] : 브라우저 버전.
// $ua[platform] : 구동 플랫폼.
// $ua[pattern] : 패턴.



 댓글 (0)


사용자함수예제
페이지: 1 / 1   


     한글을 글자단위로 분리 - 문자열 분리112
  PHP 함수를 이용해 간단히 브라우저 종류를 알아내1417
     PHP mb_str_split 함수 생성1781
     폴더속에 파일명을 알아내는 함수2321
     php 변수를 자바스크립트 변수로 사용하는 방법2234
     한글 초,중,종성 자르기 함수2970
     prototype String 함수1923
     OS 체크함수3608
     브라우저 체크함수3825
     php 함수적용1904
     유용한 일반 함수(홈마스타)1822
     phpinfo 에서 system, php버전, Ze(홈마스타)(1) 2374
     웹사이트 개발시 제가 자주쓰는 클래스(홈마스타)(1) 1834
      입력내용중 URL부분을 자동링크로 반환하기(나는2)2151
     다양한 Alert(); 함수화(홈마스타)2066
     귀찮은 쿼리문을 함수화 해보자(홈마스타)2094
     eregi_replace를 이용한 자동링크(홈마스타)1907
     IP를 숫자로 변환하는 함수(홈마스타)2195
     함수 종합 예제(홈마스타)2411
     게시물에서 일부분을 뽑아오는 함수입니다.(홈마스타)1869
     한글 주소 인코딩함수 - 주소만 가능(홈마스타)2217
     쇼핑몰 가격표시 함수(홈마스타)2095
     현재 url값 알아내기(홈마스타)2092
≪ [1]   ≫

복수단어 검색은 공백(space)로 구분해 주세요.



공지사항


 
인기 글
3569
3909
  [홈마스타] 중보입력 방지 루틴
6668
3876
3228
3334
3165
5701
4998
4545
4542
  [홈마스타] [RE] input type=\\
6657
3074
4602
3187

사주풀이마당

 
최근 글
112
239
451
267
270
167
240
3191
841
857
1030
882
4145
3441
3509