在PHP中获取浏览器和操作系统

3

我需要通过php编码获取浏览器和操作系统。

我曾经使用过$_SERVER['HTTP_USER_AGENT'],但它显示如下:

Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 1.1.4322; IEMB3)

我该如何从上述接收到的值中分离出浏览器和操作系统?
请指导我。。
提前致谢。

1
我只想指出,使用类似于 $_SERVER['HTTP_USER_AGENT'] 这样的东西是不可靠的,因为用户可以随意更改他们的 UA。 - Nick Presta
5个回答

3
你可以使用Google code Browscap class。它的功能与PHP的get_browser()相同,但你不需要担心保持browscap.ini的最新状态。
以下是我测试过的内容:
require('Browscap.php');
$browscap = new Browscap('/path/to/cache');
var_dump($browscap->getBrowser());

1

0

获取browscap.ini的副本,将$_SERVER['HTTP_USER_AGENT']与该文件进行比较。


0

如果你只运行一次,那么最好的方法是使用内置的get_browser()函数,因为它比Google-Code版本快几倍。(如果您运行4次以上,则Google-Code版本更快)

因此,除非您需要自动更新并且一次只检查一个,否则应使用内置版本。:)

而且,制作一个cronjob获取最新版本也不应该太难。;)


-1

你可以使用简单的 explode();

<?php
$ex=explode(' ',$_SERVER['HTTP_USER_AGENT']);
echo 'OS: '.$ex[4].' '.$ex[5].' '.$ex[6].'/n'; 
echo 'Browser: '.$ex[0]; 
?> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接