我目前正在玩浏览器检测,主要是来自网站的统计数据,以及将来更好地设计网站。我没有被告知最好的方法是使用下面的代码,如果我的所有ini文件都已到位(它们是),则显示数组中的所有浏览器信息
function list_array ($array) {
while (list ($key, $value) = each ($array)) {
$str .= "$brw = <b>$key:</b> $value<br>\n";
}
return $str;
}
echo "$HTTP_USER_AGENT<hr>\n";
$browser = get_browser();
echo list_array ((array) $browser);
然后显示此
browser_name_regex: �^mozilla/5\.0 \(.*windows nt 6\.2.*wow64.*\) applewebkit/.* \ (khtml, like gecko\).*chrome/28\..*safari/.*$�
= browser_name_pattern: Mozilla/5.0 (*Windows NT 6.2*WOW64*) AppleWebKit/* (KHTML, like Gecko)*Chrome/28.*Safari/*
= parent: Chrome 28.0
= platform: Win8
= platform_version: 6.2
= win32:
= win64: 1
= comment: Chrome 28.0
= browser: Chrome
= version: 28.0
= majorver: 28
= minorver: 0
= frames: 1
= iframes: 1
= tables: 1
= cookies: 1
= javascript: 1
= javaapplets: 1
= cssversion: 3
= alpha:
= beta:
= win16:
= backgroundsounds:
= vbscript:
= activexcontrols:
= ismobiledevice:
= issyndicationreader:
= crawler:
= aolversion: 0
现在继承人的问题在于所有检测到的浏览器php插件或下载过于复杂所有即时通讯我要分离iphone ipads android黑莓苹果和一些最基本的信息。如何将此数组转换为可在以后使用的变量。例如,如果我可以在阵列中获得第二个第3和第4个,我将拥有我想要的所有信息,因为我需要它所有其他方式,我似乎遇到的问题与iphone显示只是一个移动设备和我已经尝试过的例如
if (preg_match('/windows nt 6.2/i', $u_agent)) {
$platform = 'Windows 8';
}
和
$blackberry = strpos(&ua, 'Android') ? true : false;
看着,看着
http://chrisschuld.com/projects/browser-php-detecting-a-users-browser-from-php.html
http://www.phpjabbers.com/php-snippet/detect-browser-php.php
http://www.killersites.com/community/index.php?/topic/2562-php-to-detect-browser-and-operating-system/
答案 0 :(得分:1)
首先,您应该使用foreach()而不是每个+列表。见http://www.php.net/manual/fr/function.each.php#63805
其次,当你执行(数组)$ browser时,你将get_browser的结果作为list_array函数的数组,这就是为什么它可以工作以及为什么它不会造成致命的错误。
如果要将get_browser的结果用作数组,则应使用内置选项来执行此操作,即:
$b = get_browser(null, true);
这里的第二个选项告诉get_browser返回一个数组而不是一个对象,这应该可以解决你尝试将一个类用作数组的问题。
然后您就可以使用:
echo $b['browser'];
get_browser建立对象的默认返回类型,您必须使用
$b = get_browser();
echo $b->browser;
如果你想要相同的结果。
尝试阅读php手册http://php.net/manual/en/function.get-browser.php,以便更好地了解您正在使用的功能。您还可以在评论中找到有用的代码。
最后,正如您所知,您应该使用现有的API进行统计。
祝你好运。