Получить текущий URL-адрес в PHP: удобные методы и примеры

Вы веб-разработчик, работающий с PHP, и вам необходимо получить текущий URL-адрес страницы? Не смотрите дальше! В этой статье блога мы рассмотрим несколько методов, которые помогут вам легко выполнить эту задачу. Итак, хватайте свое программирующее оборудование и приступайте!

Метод 1: использование $_SERVER[’REQUEST_URI’]
Один из самых простых способов получить текущий URL-адрес — использовать суперглобальную переменную $_SERVER[’REQUEST_URI’]. Он содержит относительный путь и строку запроса текущей страницы. Вот пример:

$currentURL = $_SERVER['REQUEST_URI'];
echo "Current URL: " . $currentURL;

Метод 2: использование $_SERVER[’PHP_SELF’]
Другой метод предполагает использование переменной $_SERVER[’PHP_SELF’]. Он возвращает имя файла текущего сценария вместе с информацией о пути. Чтобы извлечь полный URL-адрес, вы можете объединить его с переменной $_SERVER[’HTTP_HOST’]. Посмотрите фрагмент кода ниже:

$currentURL = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['PHP_SELF'];
echo "Current URL: " . $currentURL;

Метод 3: использование $_SERVER[‘SCRIPT_NAME’] и $_SERVER[‘QUERY_STRING’]
Если вы хотите разделить имя сценария и строку запроса, вы можете использовать $_SERVER[‘SCRIPT_NAME’] и $ _SERVER[‘QUERY_STRING’] соответственно. Вот пример:

$scriptName = $_SERVER['SCRIPT_NAME'];
$queryString = $_SERVER['QUERY_STRING'];
$currentURL = $scriptName . '?' . $queryString;
echo "Current URL: " . $currentURL;

Метод 4: использование parse_url()
Функция parse_url() — это универсальный инструмент для манипулирования URL-адресами. Он позволяет разбить URL-адрес на его компоненты, включая схему, хост, путь и строку запроса. Вот как его можно использовать для извлечения текущего URL:

$currentURL = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$parsedURL = parse_url($currentURL);
echo "Current URL: " . $parsedURL['scheme'] . '://' . $parsedURL['host'] . $parsedURL['path'] . '?' . $parsedURL['query'];

Метод 5: использование заголовка HTTP_REFERER
Заголовок HTTP_REFERER содержит URL-адрес страницы, с которой пользователь перешел на текущую страницу. Хотя он может присутствовать не всегда, вы можете использовать его как альтернативный метод для получения текущего URL-адреса. Вот пример:

$currentURL = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
echo "Current URL: " . $currentURL;

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