2024 年日本 PHP 研討會

geoip_country_code_by_name

(PECL geoip >= 0.2.0)

geoip_country_code_by_name取得兩個字母的國家/地區代碼

說明

geoip_country_code_by_name(字串 $hostname): 字串

geoip_country_code_by_name() 函式將返回與主機名稱或 IP 位址對應的兩個字母的國家/地區代碼。

參數

hostname

要查詢其位置的主機名稱或 IP 位址。

回傳值

如果成功,則返回兩個字母的 ISO 國家代碼;如果在資料庫中找不到該地址,則返回 false

範例

範例 #1 geoip_country_code_by_name() 範例

這將會印出主機 example.com 的所在位置。

<?php
$country
= geoip_country_code_by_name('www.example.com');
if (
$country) {
echo
'這個主機位於:' . $country;
}
?>

以上範例將會輸出

This host is located in: US

注意事項

警告

請參閱 » http://www.maxmind.com/en/iso3166 以取得所有可能的返回值列表,包含特殊代碼。

參見

新增註解

使用者貢獻的註解 1 則註解

mikep
9 個月前
自 2016 年起的 PHP pecl geoip v1.1.1 https://pecl.php.net/package-changelog.php?package=geoip&release=1.1.1 支援 3 個新的函式:geoip_country_code_by_name_v6()、geoip_country_code3_by_name_v6() 和 geoip_country_name_by_name_v6(),可惜的是,這些函式並未在 PHP 官方文件中提及:https://php.dev.org.tw/manual/en/ref.geoip.php 這些函式需要 GeoIPv6.dat 檔案。請注意,不支援 IPv6 的城市資訊。

$countryCode = (strpos($ip, ":") === false) ? geoip_country_code_by_name($ip) : geoip_country_code_by_name_v6($ip);

https://stackoverflow.com/questions/30113161/getting-ipv6-support-with-php5-geoip-and-maxmind-database
To Top