본문 바로가기

개발도구

[모바일 기기별로 - 웹 브라우저 표기 하기 ]

광고 회사에서 모바일 과 타블렛 종류로 광고를 따로 넣어 달라더군요.
아래는 PHP 입니다.
 

주소의 정보를 입수? 하여 특정한 단어를 추출하려 합니다.
strpos($_SERVER['HTTP_USER_AGENT'] (그냥 echo 로 로그를 찍어 보시면 이해가 빠를거예요..)

<? 
if(strpos($_SERVER['HTTP_USER_AGENT'], 'M180S') == true || strpos($_SERVER['HTTP_USER_AGENT'], 'iPad') == true || strpos($_SERVER['HTTP_USER_AGENT'], 'M180K') == true || strpos($_SERVER['HTTP_USER_AGENT'], 'M180L') == true || strpos($_SERVER['HTTP_USER_AGENT'], 'M380') == true ) {
 ?>

<a href="http://www.truefriend.com/bridge.jsp?url=main/customer/notice/Event.jsp?gubun=i&cmd=TF04gb010002&num=782"><img src="h" /></a> 

<? }else{ ?>

<a href="http://n01.nsmartad.com/click?slot=3851&ads=52011&tid=2"><img src="" width="300"/></a>

<?   }?>

참고)

PHP전역변수 중에 '$_SERVER['HTTP_USER_AGENT']'라는 게 있다. 유저의 브라우저 접속환경을 파악하는 데 사용되어지는 변수인데, 이것으로 브라우저별로 스타일을 다르게 보여지게 하거나 필요한 동작을 요청할 수 있다. 

최근에 모바일 기기로 홈페이지에 접속하는 사람들이 늘면서, PC의 웹브라우저 뿐만 아니라 이 모바일 기기별로도 구분을 해줘야 하는 일이 생기게 되었다. 

그럼 어떻게 구분을 할 수 있을까? 

아이폰4로 접속했을 경우, 

echo $_SERVER['HTTP_USER_AGENT'];    // Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_0 like Mac OS X; ko-kr) AppleWebKit/532.9 (KHTML, like Gecko) Version/4.0.5 Mobile/8A293 Safari/6531.22.7 

유저 에이전트를 찍어보면 위와 같이 접속 브라우저의 정보가 출력된다. 이것으로 다음과 같이 문자열을 뽑아 매칭해보자. 

첫 번째 방법으로는 preg_match 함수로 정규식을 사용하는 방법이 있다.

 preg_match('/(iPhone|Android|Opera Mini|webOS)/i', $_SERVER['HTTP_USER_AGENT'])

 

사용예제

if(preg_match('/(iPhone|Android|Opera Mini|SymbianOS|Windows CE|BlackBerry|Nokia|SonyEricsson|webOS|PalmOS)/i', $_SERVER['HTTP_USER_AGENT'])) {
    $리다이렉트 = "어디로든지 가버렷!";
}

 

두 번째 방법으로는 strpos 함수로 문자열을 뽑아내는 방법이 있을 수 있다.


strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone')

strpos($_SERVER['HTTP_USER_AGENT'], 'Android')

.

사용예제

if(strpos($_SERVER['HTTP_USER_AGENT'], 'iPhone') !== false) {
    $리다이렉트 = "아이폰만 볼 수 있는 페이지임 ㅋㅋ";
} else if(strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false) {
    $리다이렉트 = "요건 안드로이드만 볼 수 있는 페이지임 ㅋㅋㅋ";
} else {
    $리다이렉트 = "......넌 누구냐?";
}

 

비교할 문자열은 아래 링크에서 찾아볼 수 있다.
http://www.zytrax.com/tech/web/mobile_ids.html