PHP判断客户端类型

        随着当今移动设备的普及,上网已经比过去更加方便。针对Android智能手机,iPhone/iPad等移动终端,很多网站都相继推出了针对电脑和这类手机等移动设备访问的网页。本文所述的实例代码就可以实现根据这些移动设备终端而自动跳转到适合它们浏览的页面。即判断PC端或手机站智能端并跳转。


<?php
/**
 * 客户端相关操作辅助类
 *
 * @author bob <983194768@qq.com>
 */
class HelpClient
{
    /**
     * 判断访问是否来自移动端
     *
     */
    static public function isMobile() 
    { 
        $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; 

        $useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';    

        $mobile_os_list=array('Google Wireless Transcoder','Windows CE','WindowsCE','Symbian','Android','armv6l','armv5','Mobile','CentOS','mowser','AvantGo','Opera Mobi','J2ME/MIDP','Smartphone','Go.Web','Palm','iPAQ');

        $mobile_token_list=array('Profile/MIDP','Configuration/CLDC-','160¡Á160','176¡Á220','240¡Á240','240¡Á320','320¡Á240','UP.Browser','UP.Link','SymbianOS','PalmOS','PocketPC','SonyEricsson','Nokia','BlackBerry','Vodafone','BenQ','Novarra-Vision','Iris','NetFront','HTC_','Xda_','SAMSUNG-SGH','Wapaka','DoCoMo','iPhone','iPod'); 
 
        $found_mobile = self::checkSubstrs($mobile_os_list,$useragent_commentsblock) || 
        self::checkSubstrs($mobile_token_list, $useragent); 
 
        if ($found_mobile) { 
            return true; 
        } else { 
            return false; 
        } 
    }

    static private function checkSubstrs($substrs,$text)
    { 
        foreach($substrs as $substr) 
          if(false!==strpos($text,$substr))
          { 
            return true; 
          } 
        return false; 
    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值