GoLang geoip_record_by_name

request it (332)
GoLang replacement for PHP's geoip_record_by_name [edit | history]



Do you know a GoLang replacement for PHP's geoip_record_by_name? Write it!

PHP geoip_record_by_name

PHP original manual for geoip_record_by_name [ show | php.net ]

geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_nameReturns the detailed City information found in the GeoIP Database

Description

array geoip_record_by_name ( string $hostname )

The geoip_record_by_name() function will return the record information corresponding to a hostname or an IP address.

This function is available for both GeoLite City Edition and commercial GeoIP City Edition. A warning will be issued if the proper database cannot be located.

The names of the different keys of the returning associative array are as follows:

  • "continent_code" -- Two letter continent code (as of version 1.0.4 with libgeoip 1.4.3 or newer)
  • "country_code" -- Two letter country code (see geoip_country_code_by_name())
  • "country_code3" -- Three letter country code (see geoip_country_code3_by_name())
  • "country_name" -- The country name (see geoip_country_name_by_name())
  • "region" -- The region code (ex: CA for California)
  • "city" -- The city.
  • "postal_code" -- The Postal Code, FSA or Zip Code.
  • "latitude" -- The Latitude as signed double.
  • "longitude" -- The Longitude as signed double.
  • "dma_code" -- Designated Market Area code (USA and Canada only)
  • "area_code" -- The PSTN area code (ex: 212)

Parameters

hostname

The hostname or IP address whose record is to be looked-up.

Return Values

Returns the associative array on success, or FALSE if the address cannot be found in the database.

Changelog

Version Description
1.0.4 Adding the continent_code with GeoIP Library 1.4.3 or newer only
1.0.3 Adding country_code3 and country_name

Examples

Example #1 A geoip_record_by_name() example

This will print the array containing the record of host example.com.

<?php
$record 
geoip_record_by_name('www.example.com');
if (
$record) {
    
print_r($record);
}
?>

The above example will output:

Array
(
    [continent_code] => NA
    [country_code] => US
    [country_code3] => USA
    [country_name] => United States
    [region] => CA
    [city] => Marina Del Rey
    [postal_code] => 
    [latitude] => 33.9776992798
    [longitude] => -118.435096741
    [dma_code] => 803
    [area_code] => 310
)