-1

Windows 7 オペレーティング システムに Apache サーバー 2.2.22、Php 5.4.5、および Mysql 5.5.27 をインストールしました。すべてがうまく機能します。しかし、私はIPアドレスを取得しません。これが私のIPアドレス収集コードです

<?php

//Test if it is a shared client
if (!empty($_SERVER['HTTP_CLIENT_IP'])) 
{
    $ip = $_SERVER['HTTP_CLIENT_IP'];
    //Is it a proxy address
} 
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) 
{
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} 
else 
{
    $ip = $_SERVER['REMOTE_ADDR'];
}
//The value of $ip at this point would look something like: "192.0.34.166"
$ip = ip2long($ip);

どうすればIPアドレスを取得できますか。この問題を解決するには、Apache httpd.conf または php.ini ファイルを変更または修正する必要がありますか?

4

2 に答える 2

3

ユーザーの IP アドレスを取得する簡単な方法

<?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]


?>
于 2012-11-28T12:01:21.557 に答える
2

でサーバー IP を取得でき$_SERVER['SERVER_ADDR']$_SERVER['REMOTE_ADDR']ユーザーが表示している IP アドレスを返します。

于 2012-08-08T12:01:07.837 に答える