PHP获取IP的方法有许多种,我们今天向大家总结了六种方法,希望通过对这六种方法的学习,能够加深我们对PHP语言的进一步了解,巩固我们所掌握的知识。
PHP获取IP方法一:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
function
GetIP()
{
if
(!
empty
(
$_SERVER
[
"HTTP_CLIENT_IP"
]))
$cip
=
$_SERVER
[
"HTTP_CLIENT_IP"
];
else
if
(!
empty
(
$_SERVER
[
"HTTP_X_FORWARDED_FOR"
]))
$cip
=
$_SERVER
[
"HTTP_X_FORWARDED_FOR"
];
else
if
(!
empty
(
$_SERVER
[
"REMOTE_ADDR"
]))
$cip
=
$_SERVER
[
"REMOTE_ADDR"
];
else
$cip
=
"无法获取!"
;
return
$cip
;
}
echo
"<br>"
;
|
PHP获取IP方法二:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
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地址是:"
.
$ip
.
"<br>"
;
|
PHP获取IP方法三:
1
2
3
|
$iipp
=
$_SERVER
[
"REMOTE_ADDR"
];
echo
$iipp
;
echo
"<br>"
;
|
PHP获取IP方法四:
1
2
3
|
$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
.
"<br>"
;
|
PHP获取IP方法五:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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();
echo
"<br>"
;
|
PHP获取IP方法六:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
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
;
echo
"<br>"
;
|