PHP Get URL - Як отримати повну URL-адресу поточної сторінки

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

Ви можете отримати поточну URL-адресу сторінки з таких причин:

  • Побудова внутрішніх зв'язків
  • Використання фільтрів із запитами GET, наприклад, currentURL.com?myFilterParameter=Food

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

PHP зберігає ці фрагменти корисної інформації у своєму масиві надглобальних змінних.

Що таке суперглобали?

Суперглобали - це вже визначені змінні механізмом PHP, які можуть бути використані в будь-якому виді. Вони доступні в будь-який час.

Цих суперглобалів багато, але нас цікавить суперглобаль $ _SERVER.

$ _SERVER Superglobal

Суперглобальна змінна $ _SERVER має безліч властивостей, доступних за допомогою асоціативного індексу стилю.  

Деякі значення, до яких ми можемо отримати доступ, включають:

  • HTTP_USER_AGENT
  • HTTP_HOST
  • HTTP_ACCEPT_ENCODING
  • HTTP_ACCEPT

Ви можете побачити більше цих показників у документації PHP тут.

Отже, як отримати повну URL-адресу?

Маючи на увазі вищезазначені пункти щодо суперглобалів та суперглобалу $ _SERVER , ми можемо продовжувати отримувати URL-адресу поточної сторінки.

На наступному скріншоті я продемонстрував PHP-програму в локальному середовищі на сторінці з назвою "home".

URL-адреса // localhost / home .

У коді цієї сторінки я буду використовувати змінну $ _SERVER .

За допомогою цієї змінної нам доведеться використовувати 2 окремі індекси, щоб отримати кожну частину URL-адреси поточної сторінки. Перша частина буде хостом, localhost, а друга частина буде назвою сторінки, додому.

Першим індексом, який ми будемо використовувати, є HTTP_HOST - поточний хост веб-адреси, наприклад localhost або example.com

Другий - REQUEST_URI, який надасть нам частину URL-адреси після хоста, тож це все після localhost або example.com

Побачимо це в дії:

$currentPageUrl = '//' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; echo "Current page URL " . $currentPageUrl; 

Вихідні дані

І все - досить просто!

Резюме

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

Варто перевірити документацію, щоб побачити, які інші індекси доступні, однак, як добре мати на увазі, наскільки корисною може бути ця змінна.

Сподіваюся, вам сподобалась ця стаття! Якщо ви це зробили, сміливо переглядайте мій блог //www.codewall.co.uk/