588创业论坛

 找回密码
 快速注册
搜索
查看: 508|回复: 1
打印 上一主题 下一主题

php判断页面是移动端访问还是pc端访问的代码

[复制链接]
匿名
跳转到指定楼层
1
匿名  发表于 2020-2-2 16:05:17 |倒序浏览
在使用浏览器发起的 HTTP 请求中,通常会包含一个识别标识。它名为 User Agent,简称 UA。它是一串包含了客户端基础信息的字符串。因此可以通过它可以方便的获取客户端的操作系统,语言,浏览器和版本信息。

1、PHP获取UA标识

获取代码:
  1. echo $_SERVER['HTTP_USER_AGENT'];
复制代码
运行结果:
  1. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36
复制代码
2、创建一个可以根据得到的字符串匹配出访问方式的PHP函数,整个PHP判断代码如下:

  1. $user_agent = $_SERVER['HTTP_USER_AGENT'];

  2. function isMobile($ua)
  3.     {
  4.         //目前手机系统很多种,为了尽量准确,所以建立一个手机系统关键词的数组。
  5.         $mobile_agents = array ('iphone','android','phone','mobile','wap','netfront','java','opera mobi',
  6.             'opera mini','ucweb','windows ce','symbian','series','webos','sony','blackberry','dopod',
  7.             'nokia','samsung','palmsource','xda','pieplus','meizu','midp','cldc','motorola','foma',
  8.             'docomo','up.browser','up.link','blazer','helio','hosin','huawei','novarra','coolpad',
  9.             'techfaith','alcatel','amoi','ktouch','nexian','ericsson','philips','sagem','wellcom',
  10.             'bunjalloo','maui','smartphone','iemobile','spice','bird','zte-','longcos','pantech',
  11.             'gionee','portalmmm','jig browser','hiptop','benq','haier','^lct','320x320','240x320',
  12.             '176x220','windows phone','cect','compal','ctl','lg','nec','tcl','daxian','dbtel','eastcom',
  13.             'konka','kejian','lenovo','mot','soutec','sgh','sed','capitel','panasonic','sonyericsson',
  14.             'sharp','panda','zte','acer','acoon','acs-','abacho','ahong','airness','anywhereyougo.com',
  15.             'applewebkit/525','applewebkit/532','asus','audio','au-mic','avantogo','becker','bilbo',
  16.             'bleu','cdm-','danger','elaine','eric','etouch','fly ','fly_','fly-','go.web','goodaccess',
  17.             'gradiente','grundig','hedy','hitachi','htc','hutchison','inno','ipad','ipaq','ipod',
  18.             'jbrowser','kddi','kgt','kwc','lg ','lg2','lg3','lg4','lg5','lg7','lg8','lg9','lg-','lge-',
  19.             'lge9','maemo','mercator','meridian','micromax','mini','mitsu','mmm','mmp','mobi','mot-',
  20.             'moto','nec-','newgen','nf-browser','nintendo','nitro','nook','obigo','palm','pg-',
  21.             'playstation','pocket','pt-','qc-','qtek','rover','sama','samu','sanyo','sch-','scooter',
  22.             'sec-','sendo','sgh-','siemens','sie-','softbank','sprint','spv','tablet','talkabout',
  23.             'tcl-','teleca','telit','tianyu','tim-','toshiba','tsm','utec','utstar','verykool','virgin',
  24.             'vk-','voda','voxtel','vx','wellco','wig browser','wii','wireless','xde','pad','gt-p1000');
  25.         $ismobile = false;
  26.         foreach ($mobile_agents as $device) {
  27.             if (stristr($ua, $device)) {
  28.                 $ismobile = true;
  29.                 break;
  30.             }
  31.         }
  32.         return $ismobile;
  33.     }

  34. if(isMobile($user_agent)){
  35.   echo "在移动端访问";
  36.   }else{
  37.   echo "在电脑端访问";
  38.   }

复制代码
匿名
2
匿名  发表于 2020-2-2 16:09:35
代码来源于《进阶丶之路》博客,感谢分享!为了容易理解,稍微修改增加了一些!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 快速注册

Archiver|手机版|588创业网 ( 闽ICP备08003622号-6 )

GMT+8, 2024-4-27 09:53 , Processed in 0.129776 second(s), 23 queries .

Powered by bbs.588cy.com

© 2001-2012 Discuz! X2.5

回顶部