php获取访问者IP地址汇总
在很我的时候我们需要得到用户的真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单$_SERVER[\'REMOTE_ADDR\']就可以了。下面我们就来给大家汇总一下常用的几种获取IP地址的方法。
方法1:
$ip = $_SERVER["REMOTE_ADDR"];
echo $ip;
方法2:
- $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
- $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
- echo $user_IP;
方法3:
- function getRealIp()
- {
- $ip=false;
- if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])){
- $ip = $_SERVER["HTTP_CLIENT_IP"];
- }
- if (!emptyempty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
- $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
- if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
- for ($i = 0; $i < count($ips); $i++) {
- if (!eregi ("^(10│172.16│192.168).", $ips[$i])) {
- $ip = $ips[$i];
- break;
- }
- }
- }
- return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
- }
- echo getRealIp();
方法4:
- if ($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])
- {
- $ip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
- }
- elseif ($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])
- {
- $ip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
- }
- elseif ($HTTP_SERVER_VARS["REMOTE_ADDR"])
- {
- $ip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
- }
- elseif (getenv("HTTP_X_FORWARDED_FOR"))
- {
- $ip = getenv("HTTP_X_FORWARDED_FOR");
- }
- elseif (getenv("HTTP_CLIENT_IP"))
- {
- $ip = getenv("HTTP_CLIENT_IP");
- }
- elseif (getenv("REMOTE_ADDR"))
- {
- $ip = getenv("REMOTE_ADDR");
- }
- else
- {
- $ip = "Unknown";
- }
- echo $ip ;
方法5:
- if(getenv('HTTP_CLIENT_IP')) {
- $onlineip = getenv('HTTP_CLIENT_IP');
- } elseif(getenv('HTTP_X_FORWARDED_FOR')) {
- $onlineip = getenv('HTTP_X_FORWARDED_FOR');
- } elseif(getenv('REMOTE_ADDR')) {
- $onlineip = getenv('REMOTE_ADDR');
- } else {
- $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
- }
- echo $onlineip;
方法6:
- print "您的IP地址是:";
- if(!emptyempty($_SERVER["HTTP_CLIENT_IP"])){
- $cip = $_SERVER["HTTP_CLIENT_IP"];
- }
- elseif(!emptyempty($_SERVER["HTTP_X_FORWARDED_FOR"])){
- $cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
- }
- elseif(!emptyempty($_SERVER["REMOTE_ADDR"])){
- $cip = $_SERVER["REMOTE_ADDR"];
- }
- else{
- $cip = "无法获取!";
- }
- print $cip;