PHP判断移动设备来源的方法-创新互联

现在移动设备大热的年代,可能我们在做web前端开发的时候经常会需要用到对移动设备的页面匹配。当然我们可以用响应式页面设计来处理前端的匹配问题,但是响应式页面只是不显示某些代码,但是还是会加载到用户的移动设备中。为了更好的照顾到用户手机浏览的体验,减少不必要的加载。我们可以再通过PHP的方式来减少用户的代码加载,提高用户浏览页面时的体验。由于现在移动设备的种类繁多、而且浏览器五花八门,所以仅仅是通过User-Agent来判断已经不能完全解决问题了。

为芦淞等地区用户提供了全套网页设计制作服务,及芦淞网站建设行业解决方案。主营业务为网站制作、成都网站制作、芦淞网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

function isMobile()

{

  // 如果有HTTP_X_WAP_PROFILE则一定是移动设备

  if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))

  {

    return true;

  }

  // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

  if (isset ($_SERVER['HTTP_VIA']))

  {

    // 找不到为flase,否则为true

    return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;

  }

  // 判断手机发送的客户端标志,兼容性有待提高

  if (isset ($_SERVER['HTTP_USER_AGENT']))

  {

    $clientkeywords = array ('nokia',

      'sony',

      'ericsson',

      'mot',

      'samsung',

      'htc',

      'sgh',

      'lg',

      'sharp',

      'sie-',

      'philips',

      'panasonic',

      'alcatel',

      'lenovo',

      'iphone',

      'ipod',

      'blackberry',

      'meizu',

      'android',

      'netfront',

      'symbian',

      'ucweb',

      'windowsce',

      'palm',

      'operamini',

      'operamobi',

      'openwave',

      'nexusone',

      'cldc',

      'midp',

      'wap',

      'mobile'

      );

    // 从HTTP_USER_AGENT中查找手机浏览器的关键字

    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))

    {

      return true;

    }

  }

  // 协议法,因为有可能不准确,放到最后判断

  if (isset ($_SERVER['HTTP_ACCEPT']))

  {

    // 如果只支持wml并且不支持html那一定是移动设备

    // 如果支持wml和html但是wml在html之前则是移动设备

    if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))))

    {

      return true;

    }

  }

  return false;

}

?>

目前这个方法可以用于大多数的移动设备判断,使用时也可以根据需要自行添加一些UA的判断参数。

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:PHP判断移动设备来源的方法-创新互联
分享路径:http://pwwzsj.com/article/pgisp.html