在我的頁面中,我使用了查找給定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