PHP 识别电脑还是手机访问网站

有做自适应网站模板的小伙伴,都有个问题 不用 css 代码,如何判断用户是使用手机还是 pc 访问的网站的呢?
如果你的网站使用 php 语言编写,那么这篇文章就可以解决你的问题。

  1. 我们用下面的 php 函数便可以判断用户所用的浏览器以及操作系统
    $useragent=isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';

xt.jpg

  1. 再用 preg_match()以及 foreach 函数进行匹配,这里我们在写一个子函数

$useragent_commentsblock=preg_match('|\(.*?\)|',$useragent,$matches)>0?$matches[0]:'';
function CheckSubstrs($substrs,$text){  
        foreach($substrs as $substr)  
            if(false!==strpos($text,$substr)){  
                return true;  
            }  
            return false;
}
  1. 我们有了匹配函数,获取了用户所用的操作系统,浏览器等信息,下面就定义我们要匹配的信息
    $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=CheckSubstrs($mobile_os_list,$useragent_commentsblock)||CheckSubstrs($mobile_token_list,$useragent);

     

  2. 最后我们测试我们的代码能否成功达到我们的目的函数返回一个布尔值我们用 if 语句判断并输出结果
    if (isMobile())

    echo ‘手机登录hsxiaow.com’;
    else
    echo ‘电脑登录www.hsxiaow.com’;
    pc.jpg
    phone.jpg


打赏

网友评论1条

  1. 沙发
    陆大师

    朕来了 朕挖坟来了 :爱:

    [回复]

发表评论