6 методов получения текущего домена в PHP

При работе с PHP существует несколько сценариев, в которых вам может потребоваться получить текущий домен. Если вы хотите генерировать динамические URL-адреса, проверять доменные имена или реализовывать логику, специфичную для домена, возможность получения текущего домена имеет важное значение. В этой статье мы рассмотрим шесть различных методов с примерами кода, которые помогут вам получить текущий домен в PHP.

Метод 1: использование $_SERVER[’HTTP_HOST’]

$domain = $_SERVER['HTTP_HOST'];

Этот метод извлекает текущий домен из суперглобального массива $_SERVER. Ключ HTTP_HOSTсодержит имя домена текущего запроса.

Метод 2. Использование $_SERVER[’SERVER_NAME’]

$domain = $_SERVER['SERVER_NAME'];

Подобно предыдущему методу, этот подход использует суперглобальный массив $_SERVER, но вместо этого получает имя домена с помощью ключа SERVER_NAME.

Метод 3: использование parse_url()

$url = 'http://www.example.com';
$domain = parse_url($url, PHP_URL_HOST);

Используя функцию parse_url(), вы можете извлечь имя домена из заданного URL-адреса. Константа PHP_URL_HOSTуказывает, что должна возвращаться только часть хоста (домен).

Метод 4. Использование $_SERVER[’REQUEST_URI’]

$protocol = $_SERVER['HTTPS'] ? 'https://' : 'http://';
$domain = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];

В сценариях, когда вам необходимо получить полный URL-адрес, включая домен и путь, вы можете объединить значения HTTP_HOSTи REQUEST_URIиз $_SERVERсуперглобальный массив.

Метод 5: использование $_SERVER[’SCRIPT_URI’]

$domain = $_SERVER['SCRIPT_URI'];

Этот метод получает полный URL-адрес текущего скрипта, включая домен, путь и параметры запроса.

Метод 6: использование $_SERVER[’SERVER_ADDR’]

$domain = gethostbyaddr($_SERVER['SERVER_ADDR']);

В некоторых случаях, если вы хотите получить доменное имя, связанное с IP-адресом сервера, вы можете использовать функцию gethostbyaddr()со значением SERVER_ADDR.

Получение текущего домена — обычное требование при разработке PHP. В этой статье мы рассмотрели шесть различных методов получения текущего домена с использованием различных суперглобальных массивов, функций и констант PHP. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод для получения необходимой вам информации о домене.