geoip_record_by_name

(PECL geoip >= 0.2.0)

geoip_record_by_name返回 GeoIP 数据库中找到的详细城市信息

说明

geoip_record_by_name(string $hostname): array

geoip_record_by_name() 函数将返回与主机名或 IP 地址相对应的记录信息。

此函数适用于 GeoLite 城市版和商业 GeoIP 城市版。如果找不到正确的数据库,将发出警告。

返回的关联数组的不同键的名称如下:

  • "continent_code" -- 大陆代码,两位字母(从 1.0.4 版本开始,使用 libgeoip 1.4.3 或更高版本)
  • "country_code" -- 国家代码,两位字母(参见 geoip_country_code_by_name()
  • "country_code3" -- 国家代码,三位字母(参见 geoip_country_code3_by_name()
  • "country_name" -- 国家名称(参见 geoip_country_name_by_name()
  • "region" -- 地区代码(例如:CA 代表加州)
  • "city" -- 城市。
  • "postal_code" -- 邮政编码、FSA 或邮政编码。
  • "latitude" -- 纬度,为带符号的 float
  • "longitude" -- 经度,为带符号的 float
  • "dma_code" -- 指定市场区域代码(仅限美国和加拿大)
  • "area_code" -- PSTN 区号(例如:212)

参数

hostname

要查找记录的主机名或 IP 地址。

返回值

成功时返回关联数组,如果数据库中找不到地址,则返回 false

变更日志

版本 说明
PECL geoip 1.0.4 仅在 GeoIP 库 1.4.3 或更高版本中添加 continent_code
PECL geoip 1.0.3 添加 country_code3 和 country_name

示例

示例 #1 geoip_record_by_name() 示例

这将打印包含主机 example.com 记录的数组。

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

上面的示例将输出

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
)

添加备注

用户贡献的备注

此页面没有用户贡献的备注。
To Top