0

PHP 获取浏览器型号

已有 134 阅读此文人 - - PHP,程序人生 -

在使用PHP获取浏览器信息时,通常有两种方式:

第一种是:使用$_SERVER[HTTP_USER_AGENT]选项

此方式获取的是格式不规则的数据,如

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB6;

CIBA; .NET CLR 2.0.50727)

Mozilla/5.0 (Windows; U; Windows NT 5.1;

en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5)

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0

具体浏览器型号需要自己分析才能获取,分别是 IE8、Firefox/3.5.5、Chrome/3.0。

第二种是:使用PHP的get_browser()函数

在使用此函数时,一般会得到如下警告

“Warning: get_browser() [function.get-browser]: browscap ini directive not set. in …”

通过查看PHP手册可以知道,这个函数的使用是有条件的:

Note: In order for this to work, your browscap configuration setting in php.ini must point to the correct location of the browscap.ini file on your system.
browscap.ini is not bundled with PHP, but you may find an up-to-date » php_browscap.ini file here.
While browscap.ini contains information on many browsers, it relies on user updates to keep the database current. The format of the file is fairly self-explanatory.

意思是说:为了使用这个函数,你必须在php.ini文件里面增加一句指 向 browscap.ini 文件的配置,browscap.ini文件里面记录了所有已存在的浏览器的类型及其信息,

所以你要下载最新的这个文件,下载browscap.ini后放到服务器某个位置,get_browser()在使用时就是将获取的客户端信息与此 文件进行对比,如果能找到,则返回相应类型。

这样看来第二种方式有些复杂,其实也有更好的方式,那就是第三种:

第三种:使用已有的功能强大的开源代码。

国外有个叫mavrick的 网站,上面有关于浏览器的项目,一直更新所写的Browser 类,我最新看到的这个类可以获取包括iPhone、BlackBerry、win、mac、linux、OS、BeOS等平台上的浏览器信息,功能可以说 是十分强大。下载这个文件时要根据自己使用的PHP版本去选择。

Click here for an example.

PHP5 Browser v1.6 Detection Page

PHP5 Browser v1.6 Detection Download

PHP4 Browser v1.6 Detection Download (rar)

PHP4 Browser v1.6 Detection Download (zip)

具体使用方式很简单:

$obj_browser = new Browser;//创建一个此类的一个实例

$obj_browser->get_Browser(); //调用相关函数,获取浏览器名称

$obj_browser->get_Platform(); //调用相关函数,获取系统名称
期待你一针见血的评论,Come on!

不用想啦,马上 "登录"  发表自已的想法.