2013-05-25 5 views
2

저는 사람이 모바일 장치를 사용하여 웹 사이트를 볼 때 감지하는 데 가장 좋은 방법/실습을 찾고 있습니다. 휴대 기기가 감지되면 웹 사이트의 템플릿을 조정하여 볼 수있게하고 싶습니다.PHP로 모바일 장치를 어떻게 감지합니까?

모바일 장치를 감지하는 가장 안정적이고 효과적인 방법은 무엇입니까?

당신은 그렇게 this 프로젝트를 사용할 수 있습니다
+1

공손하십시오. 그의 편집은 완벽했다. [관련 FAQ 섹션] (http://stackoverflow.com/faq#editing)을 참조하십시오. – Ryan

답변

5

:

if ($detect->isMobile()) { 
    // Any mobile device. 
} 
2

내가 좋은 완벽한 모바일 감지 php-mobile-detect

에 대한 사용의이 클래스를 제안하거나 사용자 에이전트를 필터링해야한다

+0

모바일 장치를 검색하는 데 필요한 큰 스크립트가 있습니까? 그들의 방법이 전화기 및 운영 체제의 개별 모델에 따라 달라지는 것처럼 보입니다. 나는 새로운 전화가 나오는 비율로 매 3 일마다 나의 소프트웨어를 새롭게해야 할 필요가 없다. –

+0

@CoryNickerson 당신이 좋은 스크립트를 원한다면, 실제로는 최고입니다. 그렇지 않으면 PHP에서 사용자 에이전트를 수동으로 필터링해야합니다. – Sam

3

당신에게 http://detectmobilebrowsers.com/ 라이브러리를 사용해 볼 수 있습니다. 모바일 브라우저를 감지 할 수 있어야하는 거의 모든 것을 모바일 브라우저에서 감지 할 수있는 코드가 있습니다.

4

서버 에이전트를 가져 와서 preg_match를 사용하여 확인할 수 있습니다. 예를 들어 :

$isMobile = (bool)preg_match('#\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet'. 
        '|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\-_]'. 
        '|mobile|up\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\b#i', $_SERVER['HTTP_USER_AGENT']); 

을 다음을 수행 할 수 있습니다 :

$isMobile=(bool)preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]); 

은 내가 here에서 코드의 더 나은 버전을 가지고

if(isMobile()) 
    header("Location: http://m.site.com/"); 
관련 문제