PHP判断是否为手机访问

​有时候我们需要判断访问是来自手机端还是PC端,PHP可以很方便的进行判断。 $SERVER['HTTPUSERAGENT']中含有访问的头信息(header),根据它我们可以做出判断 。 这个方法稍加改造也可以判断是否用某种浏览器打开。

PHP

​有时候我们需要判断访问是来自手机端还是PC端,PHP可以很方便的进行判断。

$_SERVER['HTTP_USER_AGENT']中含有访问的头信息(header),根据它我们可以做出判断 。

<?php
function isMobile()
{
    $useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
    $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;
    }
    $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);
    if ($found_mobile) {
        return true;
    } else {
        return false;
    }
}

这个方法稍加改造也可以判断是否用某种浏览器打开。

ABOUT THE AUTHOR

织织

前大厂程序员、AI 工具开发者,正在记录从技术到产品的实践。

关于作者
DISCUSSION

评论与讨论

留下你的想法