При работе с 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. В зависимости от вашего конкретного варианта использования вы можете выбрать наиболее подходящий метод для получения необходимой вам информации о домене.