Home  >  Article  >  Backend Development  >  PHP判断客户端UA

PHP判断客户端UA

WBOY
WBOYOriginal
2016-06-20 13:01:294865browse

如何用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/"); 
        
         }
        
    ?>


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn