在使用浏览器发起的 HTTP 请求中,通常会包含一个识别标识。它名为 User Agent,简称 UA。它是一串包含了客户端基础信息的字符串。通过它可以方便的获取客户端的操作系统,语言,浏览器和版本信息。

1、获取UA标识

echo $_SERVER['HTTP_USER_AGENT'];

结果:

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、封装方法进行判断

if (!function_exists("isMobile")) {function isMobile(){$user_agent = $_SERVER['HTTP_USER_AGENT'];$mobile_agents = array ('iphone','android','phone','mobile','wap','netfront','java','opera mobi','opera mini','ucweb','windows ce','symbian','series','webos','sony','blackberry','dopod','nokia','samsung','palmsource','xda','pieplus','meizu','midp','cldc','motorola','foma','docomo','up.browser','up.link','blazer','helio','hosin','huawei','novarra','coolpad','techfaith','alcatel','amoi','ktouch','nexian','ericsson','philips','sagem','wellcom','bunjalloo','maui','smartphone','iemobile','spice','bird','zte-','longcos','pantech','gionee','portalmmm','jig browser','hiptop','benq','haier','^lct','320x320','240x320','176x220','windows phone','cect','compal','ctl','lg','nec','tcl','daxian','dbtel','eastcom','konka','kejian','lenovo','mot','soutec','sgh','sed','capitel','panasonic','sonyericsson','sharp','panda','zte','acer','acoon','acs-','abacho','ahong','airness','anywhereyougo.com','applewebkit/525','applewebkit/532','asus','audio','au-mic','avantogo','becker','bilbo','bleu','cdm-','danger','elaine','eric','etouch','fly ','fly_','fly-','go.web','goodaccess','gradiente','grundig','hedy','hitachi','htc','hutchison','inno','ipad','ipaq','ipod','jbrowser','kddi','kgt','kwc','lg ','lg2','lg3','lg4','lg5','lg7','lg8','lg9','lg-','lge-','lge9','maemo','mercator','meridian','micromax','mini','mitsu','mmm','mmp','mobi','mot-','moto','nec-','newgen','nf-browser','nintendo','nitro','nook','obigo','palm','pg-','playstation','pocket','pt-','qc-','qtek','rover','sama','samu','sanyo','sch-','scooter','sec-','sendo','sgh-','siemens','sie-','softbank','sprint','spv','tablet','talkabout','tcl-','teleca','telit','tianyu','tim-','toshiba','tsm','utec','utstar','verykool','virgin','vk-','voda','voxtel','vx','wellco','wig browser','wii','wireless','xde','pad','gt-p1000');$ismobile = false;foreach ($mobile_agents as $device) {if (stristr($user_agent, $device)) {$ismobile = true;break;}}return $ismobile;}
}

这样直接判断方法的返回值就可以直接判断是pc还是移动

php判断页面访问是移动端还是pc端相关推荐

  1. java 判断手机访问_java后台如何判断是移动端还是pc端的访问请求

    java后台如何判断是移动端还是pc端的访问请求 主要是根据  HttpServletRequest request  中的请求头所带的参数 user-agent来获取: String userAge ...

  2. nginx配置区分移动端和PC端,访问不同域名

    在群里遇到一个朋友,想实现移动端和PC端访问相同域名,但是页面效果有区别(这里先排除自适应,因为他已经写完了两个项目,移动端和PC端分开写的),所以我就提供了如下方案:访问同一域名,在nginx里判断 ...

  3. js判断客户端是移动端还是PC端

    //判断客户端是移动端还是pc端 //userAgent用户代理 function IsPC() { var userAgentInfo = navigator.userAgent; var Agen ...

  4. js判断移动端,pc端,安卓,苹果浏览器的方法

    js 判断安卓或者ios 之indexOf方式(一) //判断访问终端 var browser={versions:function(){var u = navigator.userAgent, ap ...

  5. vue 判断移动端、pc端

    判断移动端或pc端 经常在项目中会有支持 pc 与手机端需求.并且pc与手机端是两个不一样的页面.这时就要求判断设置,根据不同的设置跳转不同的路由. 先写个方法: //APP.vue isMobile ...

  6. 判断当前是移动端还是PC端 判断是微信浏览器还是非微信浏览器

     需求分析: 在我现有的项目中,使用MVC模型,移动端和PC端主方法都放在了C中,移动端使用 is_mobile函数来区分移动端和PC端,在移动端需要区分微信浏览器和非微信浏览器,所以经过研究和实验, ...

  7. js 判断移动端还是pc端,ios或者android

    js 判断移动端还是pc端,ios或者android 法一: function IsPC(){ var userAgentInfo = navigator.userAgent;var Agents = ...

  8. 移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究

    移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 参考文章: (1)移动端和PC端弹出遮罩层后,页面禁止滚动的解决方法及探究 (2)https://www.cnblogs.com/ranyon ...

  9. C#和JQ判断移动端还是PC端

    判断移动端还是PC端浏览网页可以使用两种方法: 1.在C#语句进行判断 /// <summary>/// 判断是移动端/// </summary>/// <returns ...

  10. 移动端和PC端的pdf预览与下载

    34.移动端和PC端的pdf的预览与下载 1.预览 需求:在手机端实现pdf的文件与下载,主要是zlb_app中 实现过程:在研究了vue-pdf.pdfjs.pdfh5之后,选择了vue-pdf-s ...

最新文章

  1. 比特币现金之城——北昆士兰
  2. Easyui+Spring+Mybatis完整示例(后台)
  3. uva 1401 - Remember the Word
  4. Mysql字符串连接
  5. 【图像处理】MATLAB:直方图
  6. 拓端tecdat|R语言markov switching model马尔可夫转换模型研究商业周期
  7. 阿里巴巴2016校园招聘 研发工程师(二)详解
  8. 星河麒麟V10 安装达梦数据库DM8教程
  9. gitlab小记(一)
  10. Aleo Wagyu钱包
  11. 卓聚社区,新发现的全能社区
  12. html封面设计图片手绘大全,封面设计铅笔画手绘图片
  13. Java架构师和java工程师的区别是什么?架构师薪资是多少?
  14. 引力模型-高维固定效应面板泊松模型
  15. CPU信息查询与CPU测试方法总结
  16. WebSocket报错:Error during WebSocket handshake: Sent non-empty 'Sec-WebSocket-Protocol' header but
  17. 生物统计学(biostatistics)学习笔记(二)
  18. 区别:二次型、标准形、规范形
  19. [ CTF ]【天格】战队WriteUp- 2022年第三届“网鼎杯”网络安全大赛(青龙组)
  20. 【网络工程】9、实操-万达酒店综合项目(三)

热门文章

  1. cml sml区别_CML与SML有何联系和区别?
  2. element ui 表格内容 合计
  3. vba 云服务器,EXCEL服务器中VBA接口函数介绍
  4. 斗破苍穹java_安卓斗破苍穹游戏源码
  5. 关于C++的内存管理
  6. 三极管PNP和NPN对应引脚图及封装
  7. 超市收银软件测试自学,pos前台收银员培训 免费超市收银软件 视频教程
  8. Java动态代理技术-我的浅显认识
  9. Yii setFlash getFlash用法
  10. 【GAT】图注意力网络 - 简单的源码记录