【发布时间】:2013-04-06 04:31:20
【问题描述】:
我想知道如何获取 ip 位置以及访问者正在运行什么操作系统。 比如说,我使用的是 Mac,所以如果我访问这个网站,它会说 Mac OS。
所以基本上像 ipchicken.com 这样的东西有。
【问题讨论】:
标签: php html operating-system location ip
我想知道如何获取 ip 位置以及访问者正在运行什么操作系统。 比如说,我使用的是 Mac,所以如果我访问这个网站,它会说 Mac OS。
所以基本上像 ipchicken.com 这样的东西有。
【问题讨论】:
标签: php html operating-system location ip
要获取客户端的ip,使用全局$_SERVER数组:
$ip = $_SERVER['REMOTE_ADDR'];
要将 ip 解析为主机名,您可以使用gethostbyaddr():
$hostname = gethostbyaddr($_SERVER['REMOTE_ADDR']);
对于将包含有关操作系统和客户端正在使用的浏览器的信息的用户代理标头,首选方法是使用函数get_browser():
$clientInfo = get_browser(null, true);
var_dump($clientInfo);
...什么会给你一个像这样的数组:
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] =>
)
【讨论】:
访问者的 IP 在$_SERVER['REMOTE_ADDR'] 字段中可用,用户代理字符串在$_SERVER['HTTP_USER_AGENT'] 字段中可用。
请注意,这两个信息可能正确也可能不正确,具体取决于访问者是否使用 HTTP 代理或修改浏览器发送的标头。
Name Address可以通过反向DNS请求获得。
要获取访问者的操作系统或浏览器供应商等信息,您可以使用 PHP 提供的get_browser() 函数或替换(取决于您运行代码的环境,PHP 所需的browscap.ini 文件@ 987654326@ 函数可能已过时或丢失)。
【讨论】: