Web студия "GrandView"
  Главная   Написать Контакты
   
   
О проекте
Руководство php
 

XLVIII. GeoIP Functions

Введение

The GeoIP extension allows you to find the location of an IP address. City, State, Country, Longitude, Latitude, and other information as all, such as ISP and connection type can be obtained with the help of GeoIP.

Требования

This extension requires the GeoIP C library version 1.4.0 or higher to be installed. You can grab the latest version from http://www.maxmind.com/app/c and compile it yourself.

By default, you will only have access to the Free GeoIP Country or GeoLite City databases. While this module can work with other types of database, you must buy a commercial license from Maxmind.

Установка

Это расширение PECL не поставляется вместе с PHP.

Дополнительная информация, такая как новый версии, скачивание, исходные файлы, информация о разработчике и CHANGELOG, могут быть найдены здесь: http://pecl.php.net/package/geoip.

Типы ресурсов

Данное расширение не определяет никакие типы ресурсов.

Предопределенные константы

Перечисленные ниже константы определены данным расширением и могут быть доступны только в том случае, если PHP был собран с поддержкой этого расширения или же в том случае, если данное расширение подгружается во время выполнения.

GEOIP_COUNTRY_EDITION (integer)

GEOIP_REGION_EDITION_REV0 (integer)

GEOIP_CITY_EDITION_REV0 (integer)

GEOIP_ORG_EDITION (integer)

GEOIP_ISP_EDITION (integer)

GEOIP_CITY_EDITION_REV1 (integer)

GEOIP_REGION_EDITION_REV1 (integer)

GEOIP_PROXY_EDITION (integer)

GEOIP_ASNUM_EDITION (integer)

GEOIP_NETSPEED_EDITION (integer)

GEOIP_DOMAIN_EDITION (integer)

The following constants are for net speed:

GEOIP_UNKNOWN_SPEED (integer)

GEOIP_DIALUP_SPEED (integer)

GEOIP_CABLEDSL_SPEED (integer)

GEOIP_CORPORATE_SPEED (integer)

Содержание
geoip_country_code_by_name -- Get the two letter country code
geoip_country_code3_by_name -- Get the three letter country code
geoip_country_name_by_name -- Get the full country name
geoip_database_info -- Get GeoIP Database information
geoip_id_by_name -- Get the Internet connection speed
geoip_org_by_name -- Get the organization name
geoip_record_by_name -- Returns the detailed City information found in the GeoIP Database
geoip_region_by_name -- Get the country code and region


geoip_country_code_by_name> <unregister_tick_function
Last updated: Fri, 26 Jan 2007
 
add a note add a note User Contributed Notes
GeoIP Functions
eddieREMOVETHIS at yarr dot ca
07-Jul-2007 10:06
Try renaming GeoLiteCity.dat to GeoIPCity.dat.
php dot comment dot addition at gmail dot com
10-Jun-2007 08:57
Just to clarify the other comments, the maxmind post seems to be out of date / incorrect. 

This module fails to work (ie: resolve cities) with the GeoLite City database from here:
http://www.maxmind.com/app/geolitecity

The error occurs when calling the function geoip_record_by_name(), which states incorrectly that the required database is not available.  I have tested it with the very latest database, for which geoip_database_info() returns  the version:
GEO-533LITE 20070601 Build 1 Copyright (c) 2007 MaxMind LLC All Rights Reserved

It does, however, resolve countries OK via the GeoLite Country database, which you can grab here: http://www.maxmind.com/app/geoip_country
I tested with the version:

GEO-106FREE 20070601 Build 1 Copyright (c) 2007 MaxMind LLC All Rights Reserved
tjmather at maxmind dot com
26-Feb-2007 08:09
The geoip_country_*_by_name functions only work with GeoIP Country.  The geoip_record_by_name function works with GeoIP City.  geoip_region_by_name works with GeoIP Region.  So the API should work with all of the GeoIP databases, as long as you call the correct function.
26-Jan-2007 05:23
I couldn't get it to work with the DMA code database (product ID 137).  It seems to only work with the country database.  The documentation should contain a warning that this code (as of 0.2.0) is incomplete and that Net_GeoIP should be used for non-country databases.
judas dot iscariote at gmail dot com
16-Nov-2006 07:59
If you want to use this extension in SUSE/openSUSE, it is available here:

http://repos.opensuse.org/server:/php:/extensions/
Christian
13-Sep-2006 05:45
Both, Ubuntu and Debian itself make usage of version 1.3.x of the c libraries, so installation can't be done with the debian packages, because configure stops with:
 
== configure: error: You need version 1.4.0 or higher of the C API ==

so you must download it from maxmind.
Matt
08-Sep-2006 01:34
If you are a Debian or Ubuntu user, instead of building it from source, you can:
aptitude install libgeoip-dev libgeoip1

geoip_country_code_by_name> <unregister_tick_function
Last updated: Fri, 26 Jan 2007
 
 
Новости
11 июля 2007
Сайт запущен
© 2007 info@grandviewstudio.com
Z058440144362 Z348613067571