当前位置: 首页 > news >正文

PHP获取浏览器型号,判断安卓还是IOS访问

很多时候,在很多项目中都是用单入口访问,但是因为现在用移动设备的用户非常多,所以在做项目的时候,就得考虑移动设备的用户体验度,如果是安卓,IOS设备,则提供不同的返回页面,包括不同的浏览器判断,所以,小研究了一下,发现了不同浏览器在$_SERVER['HTTP_USER_AGENT']会有不同的结果判断,根据这个,我们就可以判断用户是持有什么设备访问的。

function getBrowser(){
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'Maxthon')) {
        $browser = 'Maxthon';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 12.0')) {
        $browser = 'IE12.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 11.0')) {
        $browser = 'IE11.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 10.0')) {
        $browser = 'IE10.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 9.0')) {
        $browser = 'IE9.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 8.0')) {
        $browser = 'IE8.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 7.0')) {
        $browser = 'IE7.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0')) {
        $browser = 'IE6.0';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'NetCaptor')) {
        $browser = 'NetCaptor';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Netscape')) {
        $browser = 'Netscape';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Lynx')) {
        $browser = 'Lynx';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Opera')) {
        $browser = 'Opera';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Chrome')) {
        $browser = 'Google';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Firefox')) {
        $browser = 'Firefox';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'Safari')) {
        $browser = 'Safari';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'iphone') || strpos($_SERVER['HTTP_USER_AGENT'], 'ipod')) {
        $browser = 'iphone';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'ipad')) {
        $browser = 'iphone';
    } elseif(strpos($_SERVER['HTTP_USER_AGENT'], 'android')) {
        $browser = 'android';
    } else {
        $browser = 'other';
    }
    return $browser;
}


之前有人加我QQ专门问过我这个问题,现在我公布出来,代码不一定要高深,但一定要经典。这段代码,可以无限扩展,而且至少可以开发出使用5-10年的项目了。好的代码都是简单的,实用的,易懂的。


footer.jpg

相关文章:

  • 不好好查issues就是作死
  • ForeFront TMG 路由设置--更改网络出口线路
  • 高并发、大流量网卡调优 _转
  • 自建CDN防御DDoS(3):架构的后续改进
  • 3d
  • 子网划分
  • 网络推广经验:网站需必备的四要素体现!
  • 批量设置某些通讯组的属性或权限
  • 如何构建Win32汇编的编程环境(ONEPROBLEM个人推荐)
  • 您必须先调用“WebSecurity.InitializeDatabaseConnection”方法,然后再调用WebSecurity类的任何其他方法。...
  • URL Management(网址管理)
  • #ifdef 的技巧用法
  • 今日工作总结和心情
  • 平台框架开发的好莱坞大明星原则
  • Python学习笔记 第二课 循环
  • 《剑指offer》分解让复杂问题更简单
  • Android优雅地处理按钮重复点击
  • CSS实用技巧
  • Hibernate最全面试题
  • node入门
  • oschina
  • pdf文件如何在线转换为jpg图片
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • Sublime text 3 3103 注册码
  • 从tcpdump抓包看TCP/IP协议
  • 大型网站性能监测、分析与优化常见问题QA
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 使用parted解决大于2T的磁盘分区
  • 学习笔记TF060:图像语音结合,看图说话
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #设计模式#4.6 Flyweight(享元) 对象结构型模式
  • (3)STL算法之搜索
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (Redis使用系列) Springboot 实现Redis 同数据源动态切换db 八
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (附源码)springboot家庭装修管理系统 毕业设计 613205
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (原)本想说脏话,奈何已放下
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .net反编译工具
  • @Autowired @Resource @Qualifier的区别
  • @NestedConfigurationProperty 注解用法
  • @我的前任是个极品 微博分析
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...