1

我需要以下网址中的所有信息

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

谁能告诉我在 php 中的解决方案?

4

6 回答 6

4

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

IP地址:$_SERVER['REMOTE_ADDR']

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

要从 IP 中获取城市或其他一些地理信息,请在 Google 中搜索“地理 IP”。关于地理 IP 的快速说明:它不防水。它是一个带有 IP 地址及其位置的托管数据库。新的 IP 范围或移动的(“二手”)IP 地址可能不在(或不正确)数据库中。例如,尤其是 IPv6。

于 2013-04-15T12:51:49.447 回答
1

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

于 2013-04-15T12:50:43.550 回答
1

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

于 2013-04-15T12:54:06.137 回答
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()可以做同样的事情。然后你必须浏览 ini 指令。

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

$ip_address = $_SERVER["REMOTE_ADDR"];

如果你想知道用户的城市、国家等,那么你可以使用你从那里获得的 IP$_SERVER["REMOTE_ADDR"]来获取这些。你可以使用这些:

希望这些对你有帮助:)

于 2013-04-15T13:07:27.183 回答
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 上进行了深入介绍,所以我将向您指出搜索结果,祝您好运;)

于 2013-04-15T13:07:57.493 回答
0

看看php函数。

对于 IP 地址

  $_SERVER['REMOTE_ADDR'];

同样,您具有所有其他功能来获取这些值

$_SERVER  

多变的。

于 2013-04-15T12:50:57.033 回答