我需要获取所有浏览器信息,如操作系统,操作系统,IP,城市等?

时间:2013-04-15 12:49:37

标签: php browser

我需要完整的所有信息,如以下网址

http://thetutlage.com/demo/tut_analytics/

任何人都可以在php中告诉我这个解决方案吗?

6 个答案:

答案 0 :(得分:3)

您可以从$_SERVER全局数组中获取大量信息。

IP地址:$_SERVER['REMOTE_ADDR']

浏览器/操作系统/版本:$_SERVER['HTTP_USER_AGENT']

要从IP获取城市或其他一些地理信息,请将Google用于“地理IP”。 关于地理IP的快速说明:它不防水。它是一个托管数据库,包含IP地址及其位置。数据库中的新IP范围或移动(“秒针”)IP地址可能不是(或不正确)。特别是IPv6。例如。

答案 1 :(得分:1)

$ _SERVER超全球是您的解决方案 - > http://php.net/manual/en/reserved.variables.server.php

答案 2 :(得分:1)

您需要使用Maxmind geoip数据库来获取城市/国家/地区: http://dev.maxmind.com/geoip/downloadable

答案 3 :(得分:0)

看看php函数。

表示IP地址

  $_SERVER['REMOTE_ADDR'];

同样,您拥有获取这些值的所有其他功能 参考

$_SERVER  

可变

答案 4 :(得分:0)

无法从一个来源获取所有信息。

您可以使用此库获取有关用户操作系统及其版本和其他详细信息的信息

https://github.com/GaretJax/phpbrowscap/

您可以使用以下方式获取用户设备信息:

$browscap = @new Browscap(sys_get_temp_dir());
$device_details = $browscap->getBrowser();

以上将输出:

stdClass Object
(
    [browser_name] => Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31
    [browser_name_regex] => ^mozilla/5\.0 \(.*windows nt 6\.2.*wow64.*\) applewebkit/.* \(khtml, like gecko\).*chrome/26\..*safari/.*$
    [browser_name_pattern] => Mozilla/5.0 (*Windows NT 6.2*WOW64*) AppleWebKit/* (KHTML, like Gecko)*Chrome/26.*Safari/*
    [Parent] => Chrome 26.0
    [Platform] => Win8
    [Platform_Version] => 6.2
    [Win32] => 
    [Win64] => 1
    [Comment] => Chrome 26.0
    [Browser] => Chrome
    [Version] => 26.0
    [MajorVer] => 26
    [MinorVer] => 0
    [Beta] => 1
    [Frames] => 1
    [IFrames] => 1
    [Tables] => 1
    [Cookies] => 1
    [JavaScript] => 1
    [JavaApplets] => 1
    [CssVersion] => 3
    [Alpha] => 
    [Win16] => 
    [BackgroundSounds] => 
    [VBScript] => 
    [ActiveXControls] => 
    [isMobileDevice] => 
    [isSyndicationReader] => 
    [Crawler] => 
)

PHP有一个内置函数get_browser(),它会做同样的事情。那你必须得到browscap ini指令。

如果您想获取用户IP,那么您可以从$ _SERVER变量

获取它
$ip_address = $_SERVER["REMOTE_ADDR"];

如果您想了解用户所在的城市,国家等,那么您可以使用$_SERVER["REMOTE_ADDR"]获得的IP来获取这些内容。你可以使用这些:

希望这些可以帮助你:)

答案 5 :(得分:0)

您无法在一个地方获取所有信息。

可以在$_SERVER中找到一些信息,包括客户端浏览器。  您可以使用此信息获取有关客户端的更多详细信息:

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
    ...
)

用户位置等一些信息难以获取。

要获取用户位置,您可以尝试使用geoip lib或使用ajax并通过javascript嗅出数据。

这两种方法都在SO上深入讨论,所以我只会指出你的搜索,祝你好运;)