所在位置:杂记 >> PHP >> [转]PHP获取客户端浏览器信息的方法
[转]PHP获取客户端浏览器信息的方法
发表于 六年前(2012-3-6 10:52:02) | 阅读 (3890) | 评论 (0)

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

  第一种是:使用$_SERVER[HTTP_USER_AGENT]选项,此方式获取的是格式不规则的数据,如

  1. Mozilla/4.0 (compatible; MSIE 8.0 
  2. ; Windows NT 5.1; Trident/4.0; GTB6; CIBA; .NET CLR 2.0.50727) 
  3.  
  4. Mozilla/5.0 (Windows; U; Windows NT 5.1; 
  5. en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5 
  6.  
  7. 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)

具体使用方式很简单:

  1. $obj_browser = 
  2. new Browser; // 
  3. 创建一个此类的一个实例 
  4.  
  5. $obj_browser->get_Browser(); 
  6. // 实例 调用相关函数。 

最后:

  我个人是喜欢用$_SERVER[HTTP_USER_AGENT]来获取,然后配合正则(我现在在用)或字符串查询(你可以自己扩展)。这个如下是我常用的,也是来自网络,比较易于扩展,猛击下载

原文地址:http://www.uuhar.com/program/php/shili/45.html

杂记评论(0):
称谓(必填):  网站(选填):
上一篇:【转】HTML 5 Web SQL Database初探  下一篇:Web Notifications - Web通知[转]     <<返回杂记列表