> 백엔드 개발 > PHP 튜토리얼 > PHP判断客户端UA

PHP判断客户端UA

WBOY
풀어 주다: 2016-06-20 13:01:29
원래의
4909명이 탐색했습니다.

如何用php判断一个客户端是手机还是电脑?其实很简单,开发人员都知道,通过浏览器访问网站时,浏览器都会向服务器发送UA,即User Agent(用户代理)。不同浏览器、同一浏览器的不同版本、手机浏览器、电脑端的浏览器的UA都是不一样的。我们只要写代程序获取这段UA,然后判断UA是什么,然后就可以区分出是手机还是电脑了。

下面,通过PHP代码来判断访客的浏览器UA是否为手机浏览器,然后自动跳转到相应的页面:

<?php function is_mobile(){
        
         //正则表达式,批配不同手机浏览器UA关键词。
        
         $regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
        
         $regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
        
         $regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";
        
         $regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
        
         $regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
        
         $regex_match.=")/i";
        
                
        
         return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT'])); //如果UA中存在上面的关键词则返回真。
        
    }
        
               
        
         if(is_mobile()) {
        
         //如果为真,则进行WAP页面。
        
           header( "HTTP/1.1 301 Moved Permanently");  
        
           header("Location: http://www.966266.com/wap.php");
        
         }else {    
        
         //如果为假,则进行WEB页面。
        
            header( "HTTP/1.1 301 Moved Permanently"); 
        
            header("Location: http://www.966266.com/"); 
        
         }
        
    ?>
로그인 후 복사


관련 라벨:
php
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿