PHP如何判断是手机访问还是电脑访问

 4347

PHP如何判断是手机访问还是电脑访问


php判断手机访问还是电脑访问的方法:

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

  1. //判断电脑还是手机访问
  2. function is_mobile(){
  3.     if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])){
  4.         return true;
  5.     } 
  6.     // 如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息
  7.     if (isset ($_SERVER['HTTP_VIA'])){ 
  8.         // 找不到为flase,否则为true
  9.         return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
  10.     }

2、脑残法,判断手机发送的客户端标志,兼容性有待提高

  1. if (isset ($_SERVER['HTTP_USER_AGENT'])){
  2.     $clientkeywords = array (
  3.         'nokia',
  4.         'sony',
  5.         'ericsson',
  6.         'mot',
  7.         'samsung',
  8.         'htc',
  9.         'sgh',
  10.         'lg',
  11.         'sharp',
  12.         'sie-',
  13.         'philips',
  14.         'panasonic',
  15.         'alcatel',
  16.         'lenovo',
  17.         'iphone',
  18.         'ipod',
  19.         'blackberry',
  20.         'meizu',
  21.         'android',
  22.         'netfront',
  23.         'symbian',
  24.         'ucweb',
  25.         'windowsce',
  26.         'palm',
  27.         'operamini',
  28.         'operamobi',
  29.         'openwave',
  30.         'nexusone',
  31.         'cldc',
  32.         'midp',
  33.         'wap',
  34.         'mobile'
  35.     ); 
  36.     // 从HTTP_USER_AGENT中查找手机浏览器的关键字
  37.     if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT']))){
  38.         return true;
  39.     } 
  40. }

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

  1.     if (isset ($_SERVER['HTTP_ACCEPT'])){ 
  2.         // 如果只支持wml并且不支持html那一定是移动设备
  3.         // 如果支持wml和html但是wml在html之前则是移动设备
  4.         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')))){
  5.             return true;
  6.         } 
  7.     } 
  8.     return false;
  9. }

将以上三端代码按顺序合并,使用的时候直接使用 is_mobile() 方法即可!




本文网址:https://www.zztuku.com/detail-7938.html
站长图库 - PHP如何判断是手机访问还是电脑访问
申明:如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐