array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'zh', ), 'this' => array ( 0 => 'function.geoip-record-by-name.php', 1 => 'geoip_record_by_name', ), 'up' => array ( 0 => 'ref.geoip.php', 1 => 'GeoIP 函数', ), 'prev' => array ( 0 => 'function.geoip-org-by-name.php', 1 => 'geoip_org_by_name', ), 'next' => array ( 0 => 'function.geoip-region-by-name.php', 1 => 'geoip_region_by_name', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'zh', 'path' => 'reference/geoip/functions/geoip-record-by-name.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL geoip >= 0.2.0)
geoip_record_by_name — 返回 GeoIP 数据库中详细的城市信息
geoip_record_by_name() 函数将会返回主机或者 IP 地址所对应的记录信息。
该函数在 GeoLite City 版本和商业 GeoIP City 版本中可用。 版本不对的话,将会抛出一个警告。
返回的关联数组不同的键名对应如下:
hostname
所要查找的主机或者 IP 地址。
成功,返回关联数组,未找到相关信息则返回 false
。
版本 | 说明 |
---|---|
PECL geoip 1.0.4 | 给 GeoIP 1.4.4及以上版本的库添加 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 )