Уроки PHP – Як отримати URL поточної сторінки

Досить часто вам доведеться дізнаватися URL поточної сторінки в своєму PHP додатку. Наприклад, якщо вам потрібно зробити якусь конкретну дію в залежності від фактичної URL адреси.

 

 

Як отримати URL поточної сторінки з допомогою PHP

У мові програмування PHP є деякі вбудовані глобальні змінні, які роблять процес отримання поточної URL-адреси досить простим. Ви можете отримати будь-яку інформацію про поточний URL за допомогою суперглобального масиву $_SERVER.

За допомогою цього масиву ви можете отримати назву доменного імені, назву скрипта, параметри URL або їх варіанти.

Тепер давайте подивимося, як це працює. Для прикладу давайте візьмемо таку складну структуру URL адреси:

http://www.sebweo.com/test/some-script.php?city=Kyiv&start=482

 

Давайте розберемо цей URL на складові частини:

  • http – це протокол
  • sebweo.com – це ім’я хоста (доменне ім’я).
  • test – це каталог, в якому розміщений PHP скрипт
  • some-script.php – це фактичне ім’я PHP скрипта
  • city=Kyiv – це перший параметр URL (місто) і його значення (Kyiv)
  • start=482 – це другий параметр URL (start) і його значення (482)

 

А тепер давайте спробуємо створити той же URL за допомогою PHP.

 

  • Отримуємо протокол посилання

Протокол URL посилання може бути отриманий зі змінної $_SERVER['SERVER_PROTOCOL'].

<?php
echo $_SERVER['SERVER_PROTOCOL'];
?>

 

Однак, якщо ви запустите цей код, ви отримаєте значення не просто http або https, а такий рядок: HTTP/1.1

 

Щоб отримати чистий рядок протоколу, нам потрібно провести певні маніпуляції з цим значенням:

<?php
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']), 'https') === FALSE ? 'http' : 'https';
echo $protocol;
?>

 

  • Отримуємо ім’я хоста (домен)

На наступному кроці ми з’ясуємо назву домену. Для цього використовується значення масиву $_SERVER['HTTP_HOST']. Ви можете використовувати це так:

<?php
$hostame = $_SERVER['HTTP_HOST'];
echo $hostame;
?>

 

 

  • Отримуємо каталог та ім’я поточного PHP скрипта

Значення $_SERVER['SCRIPT_NAME'] містить повний шлях з ім’ям фактичного PHP сценарію. Ви можете це використовувати так:

<?php
$script = $_SERVER['SCRIPT_NAME'];
echo $script;
?>

 

 

  • Отримуємо параметри поточної URL адреси

Остання частина поточного URL-адреси міститься в значенні $_SERVER['QUERY_STRING'] і ви можете його використовувати так:

<?php
$params = $_SERVER['QUERY_STRING'];
echo $params;
?>

 

 

  • Отримуємо фактичний URI (/test/some-script.php?city=Kyiv&start=482)

Якщо для вас не важливі протокол та назва хоста (домен), а тільки шлях, ім’я скрипта і параметри URL, ви можете просто використовувати конструкцію $_SERVER['REQUEST_URI'] наступним чином:

<?php
$uri = $_SERVER['REQUEST_URI'];
echo $uri;
?>

 

 

Таким чином, щоб отримати повний URL поточної сторінки за допомогою PHP, це можна зробити так:

<?php
$protocol = strpos(strtolower($_SERVER['SERVER_PROTOCOL']), 'https') === FALSE ? 'http' : 'https';
$hostame     = $_SERVER['HTTP_HOST'];
$script   = $_SERVER['SCRIPT_NAME'];
$params   = $_SERVER['QUERY_STRING'];
$currentUrl = $protocol . '://' . $hostame . $script . '?' . $params;
echo $currentUrl;
?>

 

 

ВАЖЛИВО. Записи в суперглобального масиві $_SERVER створюються веб-сервером. Немає гарантії, що всі веб-сервери нададуть будь-який з цих записів; сервер може опустити деякі з них або надати інші, не зазначені тут. Однак, більшість з цих змінних присутні в специфікації CGI/1.1, тому ви можете очікувати на їх підтримку сервером.

 

Recent Posts

Огляд WordPress 7.0 “Armstrong”: Нова ера ШІ та масштабна перебудова Core-архітектури

20 травня 2026 року офіційно відбувся реліз довгоочікуваної мажорної версії WordPress 7.0 «Armstrong», названої на…

3 дні ago

History Hijacking: Чому Google карає за «зламану» кнопку Назад і як захистити сайт за допомогою CSP

Кожен власник сайту та SEO-спеціаліст веде щоденну запеклу боротьбу за утримання користувача на сторінках вебресурсу.…

4 дні ago

Як вибрати дитячі бутси для футбольної секції та не помилитися з типом підошви

Футбольна секція швидко показує, наскільки взуття підходить дитині. Якщо пара ковзає, тисне або погано чіпляється…

6 днів ago

Флагманський смартфон: чому варто купити Samsung Galaxy S26 Ultra

Компанія Samsung - один із лідерів на ринку електроніки. Її смартфони вирізняються надійністю, якісними дисплеями,…

6 днів ago

Дієслово dar в іспанській мові: значення, відмінювання та особливості використання

Іспанська мова приваблює мільйони людей своєю мелодійністю, емоційністю та відносною простотою вивчення. Одним із найважливіших…

2 тижні ago

Ідеальне робоче місце: збираємо надійний сетап для стабільної роботи та геймінгу

Робочий простір давно перестав бути просто столом із ПК/ноутбуком. Сьогодні це повноцінна екосистема, де кожна…

2 тижні ago