Я хочу получить IPv4-адрес, но не адрес localhost (127.0.0.1). Я просто получаю :: 1.IPv4-адрес с PHP
я попробовал с $ip = getenv ("REMOTE_ADDR");
и
$ip = getenv ('SERVER_ADDR');
Я хочу получить IPv4-адрес, но не адрес localhost (127.0.0.1). Я просто получаю :: 1.IPv4-адрес с PHP
я попробовал с $ip = getenv ("REMOTE_ADDR");
и
$ip = getenv ('SERVER_ADDR');
$ip = $_SERVER['REMOTE_ADDR'];
с этим я просто получаю :: 1. Любые другие решения? – Valcone
, если вы работаете на localhost 127.0.0.1, это ваш сервер ip. – fico7489
Я знаю, но на веб-сайте моего друга мой ip - это мой настоящий ipv4 ip, и я не знаю, как он это сделал. например. На моем сайте это 127.0.0.1, а на его сайте - 192.xxx. – Valcone
Наконец я получил ответ на тот же день. Вы можете увидеть его ниже:
function getIP() {
$ip = $_SERVER['SERVER_ADDR'];
if (PHP_OS == 'WINNT'){
$ip = getHostByName(getHostName());
}
if (PHP_OS == 'Linux'){
$command="/sbin/ifconfig";
exec($command, $output);
// var_dump($output);
$pattern = '/inet addr:?([^ ]+)/';
$ip = array();
foreach ($output as $key => $subject) {
$result = preg_match_all($pattern, $subject, $subpattern);
if ($result == 1) {
if ($subpattern[1][0] != "127.0.0.1")
$ip = $subpattern[1][0];
}
//var_dump($subpattern);
}
}
return $ip;
}
Возможный дубликат [Как получить IP-адрес клиента в PHP] (http://stackoverflow.com/questions/3003145/how-to-get-the-client- ip-address-in-php) – samlev