Dragon
国外主机测评国外主机测评  2019-08-21 12:26 国外主机测评 隐藏边栏  0 
文章评分 0 次,平均分 0.0

下面是 PHP 现成的方法用于 PHP 做移动设备的判断,如果是移动设备返回 ture,不是则返回 false。目前这个方法可以用于大多数的移动设备判断,使用时也可以根据需要自行添加一些 UA 的判断参数。

  <?php  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;  }  ?>

上面是一个比较全面的 php 判断是否是手机等移动设备的方法,如果你觉得还不够全面或者需要其他语言的判断方法,那么可以看一看:Detect Mobile Browsers-最全的移动设备访问判断

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

扫一扫二维码分享