18 lines
445 B
PHP
18 lines
445 B
PHP
<?php
|
|
namespace Misuzu\Net;
|
|
|
|
use GeoIp2\Exception\AddressNotFoundException;
|
|
|
|
final class IPAddress {
|
|
public static function country(string $address, string $fallback = 'XX'): string {
|
|
if(!GeoIP::isAvailable())
|
|
return $fallback;
|
|
|
|
try {
|
|
return GeoIP::resolveCountry($address)->country->isoCode ?? $fallback;
|
|
} catch(AddressNotFoundException $e) {
|
|
return $fallback;
|
|
}
|
|
}
|
|
}
|