0

PHP で、ユ​​ーザーを国に応じた適切なページにリダイレクトしようとしています。例えば。米国 - mysite.com、オーストラリア - mysite.com.au。私はすでにこの関数を介して IP アドレスを取得しており、このサイトを使用して国を取得したいと考えています: http://api.hostip.info/country.php?ip=.

if (getenv(HTTP_X_FORWARDED_FOR)) { 
    $ip_address = getenv(HTTP_X_FORWARDED_FOR); 
    echo $ip_address;
} else { 
    $ip_address = getenv(REMOTE_ADDR);
    echo $ip_address;
}

ip_address_to_number($ip_address);
4

1 に答える 1

2

NetImpact の APIを使用することをお勧めしますが、具体的に何が問題なのか教えていただけますか? あなたがしたことは、何をしようとしているのかを私たちに伝えただけで、現在のコードがどのように誤動作しているかを私たちに教えてくれませんでした.

注: Netimpact はシャットダウンしました。IP2GEO、IP2Company、Domain2IP など、より広範な API を提供するKickFireにユーザーを移行しました。

ただし、その URL のコンテンツを取得するだけであれば、それは非常に簡単です。これをPHPページに入れるだけです:

<?php
$ip = $_SERVER['REMOTE_ADDR'];
$url = 'http://api.hostip.info/country.php?ip=' . $ip;
$country = file_get_contents($url);
// Do something with the country, I am forwarding to a subdomain here but you can
// do whatever you like.
header('Location: http://' . $country. '.mysite.com');
?>
于 2012-12-30T06:12:32.783 に答える