2012-09-14 44 views
-1

可能重複:
IP to Country?得到國名與PHP

我試圖用

$country = file_get_contents("http://api.hostip.info/country.php?ip=".$_SERVER['REMOTE_ADDR']); 

它工作正常的人,讓用PHP國名我(返回美國)。但是當我在我的網站上使用它時,對於我的大多數用戶來說,它返回XX,這不是一個國家代碼。 有什麼辦法可以讓我的國家名稱與PHP? 請幫助

+0

FYI:不是所有的IP地址使用地理位置映射,或API提供商的限制對國家的數據爲付費服務層。 –

+0

$ _SERVER ['REMOTE_ADDR']包含什麼?由於某些服務器配置,可能該全局變量沒有正確填充?例如,如果我訪問http://api.hostip.info/country.php?ip=0.0.0.0,我也會得到'XX'。 – AndrewR

+0

可能dublicate的http://stackoverflow.com/questions/1736024/php-accessing-the-users-country-locale – Krycke

回答

3

使用mod_geoip,那麼你就必須進入該國名稱$_SERVER['GEOIP_COUNTRY_NAME']

+1

好主意。此外,還有一個PECL庫連接到與mod_geoip相同的系統,並添加新的PHP函數來調用國家數據庫。 [下載](http://pecl.php.net/package/geoip)/ [Documentation](http://www.php.net/manual/en/ref.geoip.php) – AndrewR