在我的页面中,我使用了查找给定IP地址的Geolocation的功能。这将返回邮政编码特定位置的结果。查找50英里范围内的给定IP地址的准确位置
但这个邮政编码是不准确的。我从编码和真实位置获得的邮编差异大约超过200英里。我从ip2location网站使用以下代码。
require_once('ip2location.class.php');
$ip = new ip2location;
$ip->open('./databases/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-SAMPLE.BIN');
$record = $ip->getAll('50.178.183.243');
echo '<b>IP Address:</b> ' . $record->ipAddress . '<br>';
echo '<b>IP Number:</b> ' . $record->ipNumber . '<br>';
echo '<b>Country Short:</b> ' . $record->countryShort . '<br>';
echo '<b>Country Long:</b> ' . $record->countryLong . '<br>';
echo '<b>Region:</b> ' . $record->region . '<br>';
echo '<b>City:</b> ' . $record->city . '<br>';
echo '<b>ISP/Organisation:</b> ' . $record->isp . '<br>';
echo '<b>Latitude:</b> ' . $record->latitude . '<br>';
echo '<b>Longitude:</b> ' . $record->longitude . '<br>';
echo '<b>Domain:</b> ' . $record->domain . '<br>';
echo '<b>ZIP Code:</b> ' . $record->zipCode . '<br>';
echo '<b>Time Zone:</b> ' . $record->timeZone . '<br>';
echo '<b>Net Speed:</b> ' . $record->netSpeed . '<br>';
echo '<b>IDD Code:</b> ' . $record->iddCode . '<br>';
echo '<b>Area Code:</b> ' . $record->areaCode . '<br>';
echo '<b>Weather Station Code:</b> ' . $record->weatherStationCode . '<br>';
echo '<b>Weather Station Name:</b> ' . $record->areaCode . '<br>';
echo '<b>MCC:</b> ' . $record->mcc . '<br>';
echo '<b>MNC:</b> ' . $record->mnc . '<br>';
echo '<b>Mobile Brand:</b> ' . $record->mobileBrand . '<br>';
?>
我试过在这么多的网站编码如
- http://whatismyipaddress.com/ip-lookup
- http://www.ipinfodb.com
- http://www.fraudlabs.com
- http://www.ip2location.com/
但我没有得到ŧ他的实际结果。在给定IP地址的上述网站中找不到准确的邮政编码。任何人都可以帮助我解决这个问题。感谢您阅读并提前解决此问题。
您是否尝试过使用[Geocoder](http://geocoder-php.org/)? – j0k 2013-03-11 12:35:14
不,我没有看到Geocoder – Rithu 2013-03-11 12:36:37