- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP获取用户的浏览器与操作系统信息的代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
1.用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 。
我访问时的$_SERVER['HTTP_USER_AGENT'] 字符串
Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2 。
2.利用正则表达式匹配以上字符串,用户的浏览器 操作系统信息 。
3.PHP根据匹配后的字符串(用户的浏览器 操作系统信息),分配需要的CSS文件,JS等等…返回给用户 。
我的浏览器 操作系统信息 Browser: Chrome 5.0 。
Platform: Windows 7 。
代码如下
<?php //显示访问用户的浏览器信息 echo 'Browser: ' . determinebrowser($Agent) . '<BR>'; //显示访问用户的操作系统平台 echo 'Platform: ' . determineplatform($Agent). '<BR>',
。
//正值表达式比对解析$_SERVER['HTTP_USER_AGENT']中的字符串 获取访问用户的浏览器的信息 function determinebrowser ($Agent) { $browseragent=""; //浏览器 $browserversion=""; //浏览器的版本 if (ereg('MSIE ([0-9].[0-9]{1,2})',$Agent,$version)) { $browserversion=$version[1]; $browseragent="Internet Explorer"; } else if (ereg( 'Opera/([0-9]{1,2}.[0-9]{1,2})',$Agent,$version)) { $browserversion=$version[1]; $browseragent="Opera"; } else if (ereg( 'Firefox/([0-9.]{1,5})',$Agent,$version)) { $browserversion=$version[1]; $browseragent="Firefox"; }else if (ereg( 'Chrome/([0-9.]{1,3})',$Agent,$version)) { $browserversion=$version[1]; $browseragent="Chrome"; } else if (ereg( 'Safari/([0-9.]{1,3})',$Agent,$version)) { $browseragent="Safari"; $browserversion=""; } else { $browserversion=""; $browseragent="Unknown"; } return $browseragent." ".$browserversion; } 。
// 同理获取访问用户的浏览器的信息 function determineplatform ($Agent) { $browserplatform==''; if (eregi('win',$Agent) && strpos($Agent, '95')) { $browserplatform="Windows 95"; } elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) { $browserplatform="Windows ME"; } elseif (eregi('win',$Agent) && ereg('98',$Agent)) { $browserplatform="Windows 98"; } elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) { $browserplatform="Windows 2000"; } elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) { $browserplatform="Windows XP"; } elseif (eregi('win',$Agent) && eregi('nt 6.0',$Agent)) { $browserplatform="Windows Vista"; } elseif (eregi('win',$Agent) && eregi('nt 6.1',$Agent)) { $browserplatform="Windows 7"; } elseif (eregi('win',$Agent) && ereg('32',$Agent)) { $browserplatform="Windows 32"; } elseif (eregi('win',$Agent) && eregi('nt',$Agent)) { $browserplatform="Windows NT"; }elseif (eregi('Mac OS',$Agent)) { $browserplatform="Mac OS"; } elseif (eregi('linux',$Agent)) { $browserplatform="Linux"; } elseif (eregi('unix',$Agent)) { $browserplatform="Unix"; } elseif (eregi('sun',$Agent) && eregi('os',$Agent)) { $browserplatform="SunOS"; } elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) { $browserplatform="IBM OS/2"; } elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) { $browserplatform="Macintosh"; } elseif (eregi('PowerPC',$Agent)) { $browserplatform="PowerPC"; } elseif (eregi('AIX',$Agent)) { $browserplatform="AIX"; } elseif (eregi('HPUX',$Agent)) { $browserplatform="HPUX"; } elseif (eregi('NetBSD',$Agent)) { $browserplatform="NetBSD"; } elseif (eregi('BSD',$Agent)) { $browserplatform="BSD"; } elseif (ereg('OSF1',$Agent)) { $browserplatform="OSF1"; } elseif (ereg('IRIX',$Agent)) { $browserplatform="IRIX"; } elseif (eregi('FreeBSD',$Agent)) { $browserplatform="FreeBSD"; } if ($browserplatform=='') {$browserplatform = "Unknown"; } return $browserplatform; } 。
?> 。
。
最后此篇关于PHP获取用户的浏览器与操作系统信息的代码的文章就讲到这里了,如果你想了解更多关于PHP获取用户的浏览器与操作系统信息的代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
在为 Web 应用程序用例图建模时,为用户可以拥有的每个角色创建一个角色是否更好?或拥有一个角色、用户和一个具有特权的矩阵? guest < 用户 < 版主 < 管理员 1: guest 、用户、版主
我无法使用 Elixir 连接到 Postgres: ** (Mix) The database for PhoenixChat.Repo couldn't be created: FATAL 28P
这个问题已经有答案了: Group by field name in Java (7 个回答) 已关闭 7 年前。 我必须编写一个需要 List 的方法并返回 Map> . User包含 Person
感谢您的帮助,首先我将显示代码: $dotaz = "Select * from customers JOIN contracts where customers.user_id ='".$_SESS
我只想向所有用户中的一个用户显示一个按钮。我尝试了 orderByKey() 但没有成功! 用户模型有 id 成员,我尝试使用 orderByChild("id") 但结果相同! 我什至尝试了以下技巧
我们在工作中从 MongoDB 切换到 Postgres,我正在建立一个 BDR 组。 在这一步,我正在考虑安全性并尽可能锁定。因此,我希望设置一个 replication 用户(角色)并让 BDR
export class UserListComponent implements OnInit{ users; constructor(private userService: UserS
我可以使用 Sonata User Bundle 将 FOS 包集成到 sonata Admin 包中。我的登录功能正常。现在我想添加 FOSUserBundle 中的更改密码等功能到 sonata
在 LinkedIn 中创建新应用程序时,我得到 4 个单独的代码: API key 秘钥 OAuth 用户 token OAuth 用户密码 我在 OAuth 流程中使用前两个。 的目的是什么?最后
所以..我几乎解决了所有问题。但现在我要处理另一个问题。我使用了这个连接字符串: SqlConnection con = new SqlConnection(@"Data Source=.\SQLEX
我有一组“用户”和一组“订单”。我想列出每个 user_id 的所有 order_id。 var users = { 0: { user_id: 111, us
我已经为我的Django应用创建了一个用户模型 class User(Model): """ The Authentication model. This contains the u
我被这个问题困住了,找不到解决方案。寻找一些方向。我正在用 laravel 开发一个新的项目,目前正致力于用户认证。我正在使用 Laravels 5.8 身份验证模块。 对密码恢复 View 做了一些
安装后我正在使用ansible配置几台计算机。 为此,我在机器上本地运行 ansible。安装中的“主要”用户通常具有不同的名称。我想将该用户用于诸如 become_user 之类的变量. “主要”用
我正在尝试制作一个运行 syncdb 的批处理文件来创建一个数据库文件,然后使用用户名“admin”和密码“admin”创建一个 super 用户。 到目前为止我的代码: python manage.
关闭。这个问题是opinion-based 。目前不接受答案。 想要改进这个问题吗?更新问题,以便 editing this post 可以用事实和引文来回答它。 . 已关闭 6 年前。 Improv
我已在 Azure 数据库服务器上设置异地复制。 服务器上运行的数据库之一具有我通过 SSMS 创建的登录名和用户: https://learn.microsoft.com/en-us/azure/s
我有一个 ionic 2 应用程序,正在使用 native FB Login 来检索名称/图片并将其保存到 NativeStorage。流程是我打开WelcomePage、登录并保存数据。从那里,na
这是我的用户身份验证方法: def user_login(request): if request.method == 'POST': username = request.P
我试图获取来自特定用户的所有推文,但是当我迭代在模板中抛出推文时,我得到“User”对象不可迭代 观看次数 tweets = User.objects.get(username__iexact='us
我是一名优秀的程序员,十分优秀!