1
用PHP获得访问者浏览器信息
Posted by 撒得一地 on 2015年12月17日 in PHP笔记
上一篇: 跨站脚本攻击
下一篇: PHP数组实现栈和队列:push,pop,shif,unshift
下一篇: PHP数组实现栈和队列:push,pop,shif,unshift
本文将介绍一个有用的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 服务器。
上一篇: 跨站脚本攻击
下一篇: PHP数组实现栈和队列:push,pop,shif,unshift
下一篇: PHP数组实现栈和队列:push,pop,shif,unshift
1 Comment
最崇拜懂代码的人,而且貌似博主不只是懂!感谢分享