我的网页离线返回lpv4格式的ip地址
但是在服务器(在线)上传它会显示一个lpv6 ip地址。
主要目的是在我的网站上获取客户端电脑的IP地址
localhost wamp ip address
Webhost ip地址获取是 2402:3A80:872:94A:d99f:D430:3dae:980
<?php
echo $_SERVER['REMOTE_ADDR'];
?>
答案 0 :(得分:0)
你可以这样:
<?PHP
function getUserIP()
{
$client = @$_SERVER['HTTP_CLIENT_IP'];
$forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
$remote = $_SERVER['REMOTE_ADDR'];
if(filter_var($client, FILTER_VALIDATE_IP))
{
$ip = $client;
}
elseif(filter_var($forward, FILTER_VALIDATE_IP))
{
$ip = $forward;
}
else
{
$ip = $remote;
}
return $ip;
}
$user_ip = getUserIP();
echo $user_ip; // Output IP address [Ex: 177.87.193.134]
?>
答案 1 :(得分:0)
如果您使用的是PHP 5.3或更高版本,则可以这样做
{{1}}
当您运行独立脚本而不是通过Web服务器
时,此方法有效答案 2 :(得分:0)
我一直在我的页面上使用它。希望它有效。
public function get_client_ip() {
$ipaddress = '';
if (getenv('HTTP_CLIENT_IP'))
$ipaddress = getenv('HTTP_CLIENT_IP');
else if(getenv('HTTP_X_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_X_FORWARDED_FOR');
else if(getenv('HTTP_X_FORWARDED'))
$ipaddress = getenv('HTTP_X_FORWARDED');
else if(getenv('HTTP_FORWARDED_FOR'))
$ipaddress = getenv('HTTP_FORWARDED_FOR');
else if(getenv('HTTP_FORWARDED'))
$ipaddress = getenv('HTTP_FORWARDED');
else if(getenv('REMOTE_ADDR'))
$ipaddress = getenv('REMOTE_ADDR');
else
$ipaddress = 'UNKNOWN';
return $ipaddress;
}
echo get_client_ip();