首页 > 建站教程 > PHP教程 >  PHP如何判断手机浏览器User Agent,php判断手机跳转代码正文

PHP如何判断手机浏览器User Agent,php判断手机跳转代码

      随着智能手机的普及,大部分网站都有手机浏览的需求,那么如何通过PHP判断当前用户是用手机端访问并且跳转到网站的手机页面呢?其实很简单,通过浏览器访问网站时,浏览器都会向服务器发送UA,即User Agent(用户代理)。不同浏览器、同一浏览器的不同版本、手机浏览器、电脑端的浏览器的UA都是不一样的。我们只要写代程序获取这段UA,然后判断UA是什么,然后就可以区分出是手机还是电脑了。
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()) {
    //如果为真,则跳转到手机页面。
    header( "HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.5imoban.net/wap.php");
}else {
    //如果为假,则浏览WEB页面。
    header( "HTTP/1.1 301 Moved Permanently");
    header("Location: http://www.5imoban.net/");
}