Как получить текущий URL в PHP?

Сформировать текущий адрес страницы можно с помощью элементов массива $_SERVER. Рассмотрим на примере URL:

https://example.com/category/page?sort=asc

1
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo $url;
PHP

Результат:

https://example.com/category/page?sort=asc
2
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
$url = explode('?', $url);
$url = $url[0];

echo $url;
PHP

Результат:

https://example.com/category/page
3
$url = $_SERVER['REQUEST_URI'];
echo $url;
PHP

Результат:

/category/page?sort=asc
4
$url = $_SERVER['REQUEST_URI'];
$url = explode('?', $url);
$url = $url[0];

echo $url;
PHP

Результат:

/category/page
5
echo $_SERVER['QUERY_STRING'];
PHP

Результат:

sort=asc

Для преобразования строки с GET-параметрами в ассоциативный массив можно применить функцию parse_str().

parse_str('sort=asc&page=2&brand=rich', $get);
print_r($get);
PHP

Результат:

Array
(
    [sort] => asc
    [page] => 2
    [brand] => rich
)
30.10.2019, обновлено 17.01.2021
195348

Комментарии 3

Александр Максимов Александр Максимов
22 июля 2021 в 14:08
Как всегда. все просто и понятно))) Благодарю) Обожаю ваш сайт и манеру изложения информации)
Slava Overload Slava Overload
5 августа 2024 в 09:45
Мне нравится нравится такое решение для получения URL без GET
$protocol = (!empty($_SERVER['HTTPS'])) ? 'https' : 'http';
$url = $protocol . '://' . $_SERVER['HTTP_HOST'] . strtok($_SERVER['REQUEST_URI'], '?');

, чтобы добавить комментарий.

Другие публикации

Чтение Google таблиц в PHP
Как получить данные из Google spreadsheets в виде массива PHP? Очень просто, Google docs позволяет экспортировать лист в формате CSV, главное чтобы файл был в общем доступе.
24695
+6
Сортировка массивов
В продолжении темы работы с массивами поговорим о типичной задаче – их сортировке. Для ее выполнения в PHP существует множество функций, их подробное описание можно посмотреть на php.net, рассмотрим...
72087
+6
Whois, как получить данные IP-адреса и домена в PHP
Несколько примеров как в PHP получить информацию о домене и IP-адресе.
20641
+6
Пример парсинга html-страницы на phpQuery
phpQuery – это удобный HTML парсер взявший за основу селекторы, фильтры и методы jQuery, которые позволяют...
67047
+27
Работа с массивами PHP – создание, наполнение, удаление
Основные примеры работы с массивами PHP. Создание, наполнение, извлечение удаление значений.
105286
+14
Описание файла robots.txt
Директивы файла robots.txt для Яндекс и Google
12499
-2