如何在PHP从他们的 IP 获取访问者的国家/地区?
概览:要获取访问者的国家、大洲、城市等详细信息,首先我们需要获取访问者的IP。可以借助PHP的超全局 $_SERVER 来获取 IP 地址。最后,通过使用 API geoPlugin,我们可以获得有关 IP 地址的信息,即网站的访问者。
第一步:获取访问者的IP地址。
$_SERVER 是一个PHP Superglobals 变量,它保存有关标头、IP、脚本详细信息等的信息。 REMOTE_ADDR、HTTP_X_REAL_IP、HTTP_CLIENT_IP 和 HTTP_X_FORWARDED_FOR 等元素可用于从这个超级全局获取 IP。
示例:本示例获取访问者的IP。
注意:对于 CloudFlare,可能需要使用 HTTP_X_REAL_IP 等元素来获取 IP 地址。
第二步:使用API获取访问者IP的详细信息:这里,我们将使用geoPlugin API获取访问者的详细信息。 api 将传递一个 json 对象,该对象可以转换为PHP变量。
geoplugin_countryName . "\n";
echo 'City Name: ' . $ipdat->geoplugin_city . "\n";
echo 'Continent Name: ' . $ipdat->geoplugin_continentName . "\n";
echo 'Latitude: ' . $ipdat->geoplugin_latitude . "\n";
echo 'Longitude: ' . $ipdat->geoplugin_longitude . "\n";
echo 'Currency Symbol: ' . $ipdat->geoplugin_currencySymbol . "\n";
echo 'Currency Code: ' . $ipdat->geoplugin_currencyCode . "\n";
echo 'Timezone: ' . $ipdat->geoplugin_timezone;
?>
输出:
Country Name: United States
City Name: Boardman
Continent Name: North America
Latitude: 45.8491
Longitude: -119.7143
Currency Symbol: $
Currency Code: USD
Timezone: America/Los_Angeles