2013-04-15 88 views

回答

1

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

+2

您應該添加的如何做到這一點的例子,以提高你的答案,並使其所以它的不只是一個如何鏈接。 ^^ – Jon

+0

注意事項。謝謝:)其他傢伙已經給了例子 –

0

看看PHP函數。

的IP地址

$_SERVER['REMOTE_ADDR']; 

同樣你把所有其他函數來得到這些值 參考

$_SERVER 

變量。

3

您可以從$_SERVER全局數組中獲得大量信息。

IP地址:$_SERVER['REMOTE_ADDR']

瀏覽器/操作系統/版本:$_SERVER['HTTP_USER_AGENT']

要獲得城市或從IP,谷歌爲 「地理IP」 的一些其他地理信息。 有關geo IP的快速注意事項:它不防水。這是一個帶IP地址和位置的託管數據庫。新的IP範圍或移動(「秒針」)IP地址可能不是(或不正確)在數據庫中。例如尤其是IPv6。

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"]; 

得到它,如果你想知道用戶城市,國家等那麼你可以使用你得到的IP $_SERVER["REMOTE_ADDR"]來獲得這些。您可以使用這些:

希望這些可以幫助你:)

+0

感謝這個信息,我已經嘗試了本地本解決方案及其安裝browscap轉後工作正常,現在當我試圖用這個在我的客戶的網站,它說同樣的警告:「警告: get_browser():browscap INI指令在/home/mytrklin/public_html/get-visitor.php沒有設置在第10" 行,所以我需要知道如何在安裝的cPanel的browscap.ini?如果你能告訴我@NaveedMetlo我想既然你正在使用的cPanel託管這將是真正偉大 –

+0

和所有的,我不知道它是否可能適合你。如果你可以用browscap庫(https://github.com/GaretJax/phpbrowscap/)嘗試,它可以給你出指令設置的信息。你可以嘗試,而不是get_browser – Sabari

+0

@ Sabari。我只是通過cpanel啓用,他們安裝,現在我可以得到所有瀏覽器信息,這是我想要的,所以會嘗試你的解決方案,如果我需要一些相同的東西。感謝Sabari ... –

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所以我心底只是指向你的搜索和至極你好運;)