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

简介:

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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年的项目了。好的代码都是简单的,实用的,易懂的。










本文转自 3147972 51CTO博客,原文链接:http://blog.51cto.com/a3147972/1334426,如需转载请自行联系原作者
目录
相关文章
|
7月前
|
网络协议 关系型数据库 MySQL
如何在Android Termux上安装MySQL并实现公网远程访问?
如何在Android Termux上安装MySQL并实现公网远程访问?
122 0
|
7月前
|
Web App开发 小程序 前端开发
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
【产品上新】小程序新内核来了!提升安卓浏览器性能,支持WebRTC
123 10
|
7月前
|
Android开发
Android网络访问超时
Android网络访问超时
56 2
|
4月前
|
XML 安全 Android开发
Flutter配置Android和IOS允许http访问
Flutter配置Android和IOS允许http访问
137 3
|
4月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
|
5月前
|
开发工具 iOS开发 容器
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
iOS Objective-C 应用连接Azure Storage时,若不关闭账号的匿名访问,程序能正常运行。但关闭匿名访问后,上传到容器时会出现错误:“Public access is not permitted”。解决方法是将创建容器时的公共访问类型从`AZSContainerPublicAccessTypeContainer`改为`AZSContainerPublicAccessTypeOff`,以确保通过授权请求访问。
【Azure Blob】关闭Blob 匿名访问,iOS Objective-C SDK连接Storage Account报错
|
5月前
|
移动开发 小程序 前端开发
php + h5使用 scheme页面跳转微信小程序-其他浏览器一键跳转到微信并打开小程序
php + h5使用 scheme页面跳转微信小程序-其他浏览器一键跳转到微信并打开小程序
128 0
|
7月前
|
Java 开发工具 Android开发
如何访问 android系统hide的类或接口
如何访问 android系统hide的类或接口
275 1
|
7月前
|
安全 数据安全/隐私保护 iOS开发
iOS 动态权限管理:向用户索取相机和相册访问权限
【4月更文挑战第16天】 在移动应用开发中,尤其是针对iOS平台,用户隐私保护已成为不可忽视的要素。随着苹果对隐私政策的不断收紧,如何优雅地向用户请求访问其设备上敏感资源的权限,成为了开发者必须面对的挑战。本文将深入探讨如何在iOS应用中实现动态权限管理,重点讨论相机和相册访问权限的请求过程,并指导读者通过编程方式提升用户体验与满足数据保护规范之间的平衡。