当前位置: 首页 > 工具软件 > PHP-ip查询 > 使用案例 >

php 获取 ip地址_PHP 获取ip地址的六种方法

宗政欣可
2023-12-01

本篇文章主要介绍PHP 获取ip地址的六种方法,感兴趣的朋友参考下,希望对大家有所帮助。

代码一:function getip() {

static $ip = '';

$ip = $_SERVER['REMOTE_ADDR'];

if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {

$ip = $_SERVER['HTTP_CDN_SRC_IP'];

} elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {

$ip = $_SERVER['HTTP_CLIENT_IP'];

} elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {

foreach ($matches[0] AS $xip) {

if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {

$ip = $xip;

break;

}

}

}

return $ip;

}

代码二:<?php

error_reporting (E_ERROR | E_WARNING | E_PARSE);

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;

?>

方法三:<?php

$iipp = $_SERVER["REMOTE_ADDR"];

echo $iipp ;

?>

方法四:<?php

$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

?>

方法五:<?php

function get_real_ip()

{

$ip=false;

if(!empty($_SERVER["HTTP_CLIENT_IP"])){

$ip = $_SERVER["HTTP_CLIENT_IP"];

}

if (!empty($_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 get_real_ip();

?>

方法六:<?php

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;

?>

总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。

相关推荐:

 类似资料: