BLOG main image
분류 전체보기 (51)
아이폰 개발 이야기 (12)
스마트폰용 홈페이지 (4)
웹표준 개발 (8)
HTML5 (2)
Objective-C (2)
뉴미디어 기획 이야기 (10)
뉴미디어 뉴스 (12)
88,773 Visitors up to today!
Today 55 hit, Yesterday 72 hit
2010/04/20 13:17


오늘은 모바일 브라우저를 체크하는 법 알아보도록 하겠습니다.

스마트폰 인터넷 브라우저 ( 사파리, 오페라 , 모바일ie) 등을  열고 
www.daum.net 를 주소창에 써보면
신기하게  내가 모바일로 들어온지 알아서 체크해줘서 자동으로  
m.daum.net/mini 으로 보내주는걸  볼수 있습니다.

우리의 모바일 홈페이지도 만찬가지로 사용자가 들어온 브라우저를 확인하고 포워딩 시키는 것을 같이 해보도록 하겠습니다^^
(아래 포스팅은 웹 언어중 PHP 기준으로 서술하였습니다.)


시작하기 전에 먼저 가상 URL를 정하겠습니다.
 - PC버전 URL :    
www.web2log.com
 - 모바일버전 URL :  m.web2log.com



PC버전 페이지 상단에  브라우저 체크해주는 파일을 인크루드 하여 아래와 같이 소스를 작성합니다.

<?php
 $arr_browser = array ("iPhone","iPod","IEMobile","Mobile","lgtelecom","PPC");

for($indexi = 0 ; $indexi < count($arr_browser) ; $indexi++) {
 if(strpos($_SERVER['HTTP_USER_AGENT'],$arr_browser[$indexi]) == true){
  // 모바일 브라우저라면  모바일 URL로 이동
   header("Location:
http://m.web2log.com/");
   exit;

 }
}

?>


소스 설명을 하기 전에
$_SERVER['HTTP_USER_AGENT'] 라는  서버 함수 대해 약간의 설명을 하고 지나가겠습니다.

$_SERVER['HTTP_USER_AGENT']  는 유저의 브라우저 정보를 알수 있는  서버 함수 입니다.
ASP 와 JSP 에서도 비슷한 함수가 있는 걸고 알고 있습니다 ^^ HTTP_USER_AGENT 로 검색하시면 찾으실 수 있으실거예요^^;


저 함수를 쓰면 Mozilla/4.0(compatible; MSIE 6.0; Window NT5.1; Q312461; .NET CLR 1.0.3705 이런식으로 화면에 표기됩니다. (물론 IE에서 접속하신분들만요 ^^ 파이어폭스나 사파리 오페라는 각각 다르게 나오죠)

이제 $_SERVER['HTTP_USER_AGENT'] 함수가 뭐하는 함수인지 아시니 그만하도록 하구요.
위에
브라우저 체크하는 소스 설명 간단히 하겠습니다.

$arr_browser 는  배열 변수 "iPhone","iPod","IEMobile","Mobile","lgtelecom","PPC" 이라는 단어를 저장했습니다.

즉, $_SERVER['HTTP_USER_AGENT'] 로 나오는 정보중에서  각각의 핵심 단어만 배열변수에 저장해둔거예요  (모바일 경우에만 나오는 단어들이죠 )

그리고 strpos 함수 써서  배열함수에 들어가 있는 단어가  $_SERVER['HTTP_USER_AGENT'] 정보에 있다면 이 사람은 모바일 환경이 분명하니 모바일 홈페이지로 가게 해주는 아주 아주 간단한 소스랍니다 ^^; 이제  모바일 브라우저로 접속하는 유저만 콕 집어서  모바일 홈페이지로 보내줄수 있겠죠? ~~ 한번 해보세요!!!


※ 덧붙임 ..>> $_SERVER['HTTP_USER_AGENT'] 를 썼을 때 각각 브라우저 정보 

 
- MSIE 6.0
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) 

- Firefox 2.0.0.4
Mozilla/5.0 (Windows; U; Windows NT 5.1; ko; rv:1.8.1.4) Gecko/20070515 Firefox/2.0.0.4

 - Opera 9.21
Opera/9.21 (Windows NT 5.1; U; ko)

 - Netscape 9.0b1
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.5pre) Gecko/20070604 Firefox/2.0.0.4 Navigator/9.0b1

- 크롬
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_2; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.49 Safari/532.5

-LG 아르고폰(LG텔레콤) 
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; 800*600;POLARIS 6.0;em1.0;lgtelecom;EB10-200090218-707682823;LG-LH2300;0);


-iPod Touch
 
Mozilla/5.0 (iPod; U; CPU like Mac OS X; ko-kr) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3


-옴니아 Opera Mobile
 
SAMSUNG-SCH-M490/(null)HK4 (compatible; MSIE 6.0; Windows CE; PPC) Opera 9.5


-옴니아 IE Mobile
 
SAMSUNG-SCH-M490/(null)HK4 (compatible; MSIE 6.0; Windows CE; IEMobile 7.11)

저작자 표시 비영리 동일 조건 변경 허락
Trackback Address :: http://web2log.com/trackback/14 관련글 쓰기
poor | 2010/05/22 19:58 | PERMALINK | EDIT/DEL | REPLY
유용한 정보 감사합니다~!!!!바로 적용했어요^^ㅋ
하얀아무 | 2010/07/20 17:34 | PERMALINK | EDIT/DEL | REPLY
정말 유용한 정보에요 ... 감사합니다.
웅이 | 2010/07/22 00:54 | PERMALINK | EDIT/DEL | REPLY
궁금한건데요
이 부분이요
음 그러면 도메인이 두개가 있어야 하는건가요??

- PC버전 URL : www.web2log.com
- 모바일버전 URL : m.web2log.com

답변 부탁 드려요~
web2log | 2010/07/22 09:57 | PERMALINK | EDIT/DEL
도메인은 한개가 되고 (www.web2log.com) 서브 도메인이 하나 생기는거죠 ^^ (m.web2log.com) 서브 도메인은 담당하고 계시는 도메인호스팅업체나 웹포탈에 검색하시면 자세한 설명이 나왔습니다. 도메인이 이미 있다면 서브도메인은 쉽게 만드실수 있습니다 ^^
우유 | 2010/07/27 17:49 | PERMALINK | EDIT/DEL | REPLY
죽여주는듯ㅋ
빵기 | 2010/08/17 11:13 | PERMALINK | EDIT/DEL | REPLY
함참 찾다 들어와서 홈페이지에 적용하였습니다.
감사합니다. ㅎㅎ
외눈박이 | 2010/10/13 15:45 | PERMALINK | EDIT/DEL | REPLY
이거 찾느라고 머리가 뽀사지는줄 알았는데..ㅠ.ㅠ
잘 썼습니다 감사합니다~~^^
쫑이 | 2011/07/27 14:26 | PERMALINK | EDIT/DEL | REPLY
잘쓸께요~ 감사합니다.
guswlna | 2012/02/08 18:56 | PERMALINK | EDIT/DEL | REPLY
담아갈게요
True Religion Outlet | 2012/03/01 17:53 | PERMALINK | EDIT/DEL | REPLY
로 수치를 주면 그 하위 http://www.canadatruereligions.com 수치들이 제대로 먹히지 않더라고요 480이라는건 모바일 사파리일경우 예를 든거뿐이고 각각 브라우저 생각해서 http://www.uktruereligionoutlet.com 그때 다르게 주는게 낫겠죠 아님 최상위 오브젝트에 가로값을 안주는 것이 http://www.cheapreligionjeansale.com 가장 깔끔하겠죠 ^^; %를 쓰지 말라는건 최상위 오브젝트에 한해서만 입니다.
Name
Password
Homepage
Secret