【www.gdgbn.com--安卓教程】

if(getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
{
$PHP_IP = getenv("HTTP_CLIENT_IP");
}
elseif(getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
{
$PHP_IP = getenv("HTTP_X_FORWARDED_FOR");
}
elseif(getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
{
$PHP_IP = getenv("REMOTE_ADDR");
}
elseif(isset($_SERVER["REMOTE_ADDR"]) && $_SERVER["REMOTE_ADDR"] && strcasecmp($_SERVER["REMOTE_ADDR"], "unknown"))
{
$PHP_IP = $_SERVER["REMOTE_ADDR"];
}
preg_match("/[d.]{7,15}/", $PHP_IP, $ipmatches);
$PHP_IP = $ipmatches[0] ? $ipmatches[0] : "unknown";
/**
函数 getenv() 是获取环境变量。  环境变量: HTTP_CLIENT_IP 是获取客户端的IP 。但有可能人家是通过代理来访问你的程序的呢。那么这时候就要用 环境变量:
HTTP_X_FORWARDED_FOR  了。 包括  getenv("REMOTE_ADDR")  $_SERVER["REMOTE_ADDR"]  都是获取人家  IP的。反正碰罗。碰到那个能获取就大工告成。
*/

本文来源:http://www.gdgbn.com/shoujikaifa/19613/