当前位置:首页 > PHP教程 > php函数 > 列表

php函数实现判断是否移动端访问

发布:smiling 来源: PHP粉丝网  添加日期:2021-05-15 15:11:44 浏览: 评论:0 

本文给大家分享的是一则php判断是否移动端访问的函数,是之前收藏的,这里发出来,推荐给小伙伴们。

忘记在哪里获取的函数了,刚才不了心在一个包里面找到,临时保存起来,代码如下:

  1. /** 
  2.  * 是否移动端访问访问 
  3.  * 
  4.  * @return bool 
  5.  */ 
  6. function isMobile() 
  7.     // 如果有HTTP_X_WAP_PROFILE则一定是移动设备 
  8.     if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) 
  9.     { 
  10.         return true; 
  11.     } 
  12.     // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息 
  13.     if (isset ($_SERVER['HTTP_VIA'])) 
  14.     { 
  15.         // 找不到为flase,否则为true 
  16.         return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; 
  17.     } 
  18.     // 脑残法,判断手机发送的客户端标志,兼容性有待提高 
  19.     if (isset ($_SERVER['HTTP_USER_AGENT'])) 
  20.     { 
  21.         $clientkeywords = array ('nokia'
  22.             'sony'
  23.             'ericsson'
  24.             'mot'
  25.             'samsung'
  26.             'htc'
  27.             'sgh'
  28.             'lg'
  29.             'sharp'
  30.             'sie-'
  31.             'philips'
  32.             'panasonic'
  33.             'alcatel'
  34.             'lenovo'
  35.             'iphone'
  36.             'ipod'
  37.             'blackberry'
  38.             'meizu'
  39.             'android'
  40.             'netfront'
  41.             'symbian'
  42.             'ucweb'
  43.             'windowsce'
  44.             'palm'
  45.             'operamini'
  46.             'operamobi'
  47.             'openwave'
  48.             'nexusone'
  49.             'cldc'
  50.             'midp'
  51.             'wap'
  52.             'mobile' 
  53.             ); 
  54.         // 从HTTP_USER_AGENT中查找手机浏览器的关键字 
  55.         if (preg_match("/(" . implode('|'$clientkeywords) . ")/i"strtolower($_SERVER['HTTP_USER_AGENT']))) 
  56.         { 
  57.             return true; 
  58.         } 
  59.     } 
  60.     // 协议法,因为有可能不准确,放到最后判断 
  61.     if (isset ($_SERVER['HTTP_ACCEPT'])) 
  62.     { 
  63.         // 如果只支持wml并且不支持html那一定是移动设备 
  64.         // 如果支持wml和html但是wml在html之前则是移动设备 
  65.         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')))) 
  66.         { 
  67.             return true; 
  68.         } 
  69.     } 
  70.     return false; 

非常简单实用的函数,分享给大家,希望大家能够喜欢。

Tags: php判断是否移动端

分享到: