1

用PHP获得访问者浏览器信息

Posted by 撒得一地 on 2015年12月17日 in PHP笔记

本文将介绍一个有用的PHP函数get_browser,这个函数可以获得客户端用户所使用浏览器的详细信息。

具体实现代码如下:

<?php
echo $_SERVER['HTTP_USER_AGENT'] . "\n\n";

$browser = get_browser(null, true);

print_r($browser);

?>

访问成功后,下面是输出内容:

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7) Gecko/20040803 Firefox/0.9.3
Array
(
    [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$

    [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9*

    [parent] => Firefox 0.9

    [platform] => WinXP

    [browser] => Firefox

    [version] => 0.9

    [majorver] => 0

    [minorver] => 9

    [cssversion] => 2

    [frames] => 1

    [iframes] => 1

    [tables] => 1

    [cookies] => 1

    [backgroundsounds] =>

    [vbscript] =>

    [javascript] => 1

    [javaapplets] => 1

    [activexcontrols] =>

    [cdf] =>

    [aol] =>

    [beta] => 1

    [win16] =>

    [crawler] =>

    [stripper] =>

    [wap] =>

    [netclr] =>

)

因为我是用火狐浏览器进行访问,所以上面输出了我自己的浏览器详细信息。不同浏览器访问会根据不同浏览器,返回对应信息。

2016.6.21更新备注:有网友反映使用 get_browser() 函数返回空,下面新增下原因和解决方法。

如果get_browser()返回浏览器的信息为空,或者出现Warning: get_browser() [function.get-browser]: browscap ini directive not set in xxx.php的警告,那么原因是:因为该函数是通过查找 browscap.ini 文件中的浏览器信息,尝试检测用户的浏览器所具有的功能,那么如果你服务器没有 browscap.ini 文件,则返回错误

解决办法:由于许可证的问题,PHP 未提供浏览器功能文件,你可以从 Browscap 得到浏览器功能文件,可以在 http://browscap.org/ 下载 php_browscap.ini 文件。

文件下载完成后,上传至:

(Win下)D:\wamp\bin\php\php5.5.12\browscap.ini 该'D:\wamp\bin\php\php5.5.12\'前缀地址改为你自己 PHP 安装目录的地址

(Linux下) /usr/local/php/lib/php/browscap.ini 该'/usr/local/php/lib/php/'前缀改为你自己 PHP 安装目录地址

同样的,上传完成之后,需要在 php.ini 中设置(Win 下):

browscap=D:\wamp\bin\php\php5.5.12\browscap.ini

或者(Linux 下)

browscap=/usr/local/php/lib/php/browscap.ini

设置完成后记得重启下你的 Web 服务器。

标签:

上一篇:

下一篇:

相关推荐

1 Comment

发表评论

电子邮件地址不会被公开。 必填项已用*标注

7 + 2 = ?

网站地图|XML地图

Copyright © 2015-2018 技术拉近你我! All rights reserved.
闽ICP备15015576号-1,版权所有©psz.