- How to Get Current Page URL, Domain, Query String in PHP
- How to Get Current Page URL in PHP
- PHP Program for get Current Page Url
- Program 1 full source Code
- PHP Program to show current page URL
- PHP Program show Current page full URL
- Program 2 full source Code
- PHP Program show Current page full URL
- PHP Program show Current full URL with Query String
- Program 3 full source Code
- PHP Program show Current page full URL with Query String
- Other Important elements of $_SERVER that are very are useful and you must know that:
- Author Admin
- Как получить текущий URL в PHP?
- Полный URL
- Результат:
- URL без GET-параметров
- Результат:
- Основной путь и GET-параметры
- Результат:
- Только основной путь
- Результат:
- Только GET-параметры
- Результат:
- Результат:
- Комментарии 2
- Другие публикации
- Как в PHP получить URL? Получение текущей ссылки в PHP. Переменная $_SERVER
- Получение ссылки текущей страницы в PHP
- Получение полного URL в PHP
- Получение URL в PHP без GET-параметров
- Получение только параметров GET
- Как определить текущий url сайта и директории исполняющего файла в php
How to Get Current Page URL, Domain, Query String in PHP
In this tutorial, We would love to share with you, How to get current page URL in PHP, PHP get current URL path, PHP get full URL with parameters, PHP get a current page, PHP get current URL with query string, PHP get a domain from URL.
How to Get Current Page URL in PHP
Here you will discuss about superglobal variable $_SERVER, this is built-in PHP variable. We will use this variable get the current page URL in PHP. You can get every piece of information about the current URL using the $_SERVER superglobal.
Before we try to fetch the Current Page Full URL lets see how a normal URL structure looks like:
http://www.abc.com/dir1/test.php?glob=hello&name=world
Any typical URL like this can be broken into several common parts like:
- HTTP: The URL protocol
- www.abc.com – The domain name or the hostname.
- dir1: The directory within the root
- test.php – The actual PHP script
- glob=hello – the first URL parameter (glob) and it’s a value (hello)
- name=world – the second URL parameter (name) and its value (world)
Now we will create a program that is used to get current page url.
PHP Program for get Current Page Url
Program 1 full source Code
PHP Program to show current page URL
PHP Program show Current page full URL
Program 2 full source Code
PHP Program show Current page full URL
PHP Program show Current full URL with Query String
Program 3 full source Code
PHP Program show Current page full URL with Query String
Other Important elements of $_SERVER that are very are useful and you must know that:
- $_SERVER[‘SERVER_ADDR’]: IP address of the server
- $_SERVER[‘REQUEST_METHOD’]: Returns the page access method used i.e. ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’.
- $_SERVER[‘REQUEST_TIME’]: timestamp of the start of the request.
- $_SERVER[‘HTTP_REFERER’]: returns the referrer page uri – used in redirecting to last page after login
- $_SERVER[‘SCRIPT_FILENAME’]: returns the path including the filename, like DIR
- $_SERVER[‘HTTP_COOKIE’]. returns the raw value of the ‘Cookie’ header sent by the user agent.
- $_SERVER[‘HTTP_ACCEPT_LANGUAGE’]): returns the default set language – useful for websites with multilingual content & readers
- $_SERVER[‘HTTP_USER_AGENT’]: returns the kind of device being used to access (desktop/mobile device etc) – suitable for switching interface for different devices.
Author Admin
My name is Devendra Dode. I am a full-stack developer, entrepreneur, and owner of Tutsmake.com. I like writing tutorials and tips that can help other developers. I share tutorials of PHP, Python, Javascript, JQuery, Laravel, Livewire, Codeigniter, Node JS, Express JS, Vue JS, Angular JS, React Js, MySQL, MongoDB, REST APIs, Windows, Xampp, Linux, Ubuntu, Amazon AWS, Composer, SEO, WordPress, SSL and Bootstrap from a starting stage. As well as demo example.
Как получить текущий URL в PHP?
Сформировать текущий адрес страницы можно с помощью элементов массива $_SERVER. Рассмотрим на примере URL:
Полный URL
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url;
Результат:
https://example.com/category/page?sort=asc
URL без GET-параметров
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; $url = explode('?', $url); $url = $url[0]; echo $url;
Результат:
https://example.com/category/page
Основной путь и GET-параметры
$url = $_SERVER['REQUEST_URI']; echo $url;
Результат:
Только основной путь
$url = $_SERVER['REQUEST_URI']; $url = explode('?', $url); $url = $url[0]; echo $url;
Результат:
Только GET-параметры
Результат:
Для преобразования строки с GET-параметрами в ассоциативный массив можно применить функцию parse_str() .
parse_str('sort=asc&page=2&brand=rich', $get); print_r($get);
Результат:
Array ( [sort] => asc [page] => 2 [brand] => rich )
Комментарии 2
Авторизуйтесь, чтобы добавить комментарий.
Другие публикации
Как получить данные из Google spreadsheets в виде массива PHP? Очень просто, Google docs позволяет экспортировать лист в формате CSV, главное чтобы файл был в общем доступе.
В продолжении темы работы с массивами поговорим о типичной задаче – их сортировке. Для ее выполнения в PHP существует множество функций, их подробное описание можно посмотреть на php.net, рассмотрим.
Как в PHP получить URL? Получение текущей ссылки в PHP. Переменная $_SERVER
В этой статье будет рассказано о том, как в языке программирования PHP получить адрес текущей страницы. Также вы узнаете о работе переменной $_SERVER.
Первое, о чём следует сказать, — зачем вообще получать ссылки (urls) в PHP? На практике варианты могут различаться. Представьте, что у нас для разных разделов применяется один и тот же шаблон. И возникает потребность в том, чтобы вывести (либо не вывести — зависит от ситуации) какой-нибудь специальный блок, причём в других разделах вывод этого блока не нужен.
В большинстве случаев мы пожелаем выполнить поставленную задачу по условию. То есть сделаем условие, в котором будем выполнять проверку того либо иного раздела. Можно сказать, что с точки зрения архитектуры данное решение не является оптимальным. Но на практике нам нередко достаются уже реализованные проекты, с которыми необходимо что-то решать с учётом уже имеющейся архитектуры.
Но давайте не будем много говорить, а лучше приступим к решению поставленной задачи — получению ссылки в PHP.
Получение ссылки текущей страницы в PHP
Для получения данных нужно обратиться к глобальной переменной в PHP, которая называется $_SERVER. Переменная $_SERVER представляет собой массив, содержащий много полезной информации. На практике $_SERVER может получать любые данные о текущем URL: — доменное имя; — название скрипта; — параметры URL.
По сути, в глобальном массиве $_SERVER хранятся и заголовки, и пути, и местоположения скриптов. Если вас интересует сразу вся информация, хранимая в массиве $_SERVER, воспользуйтесь следующим кодом на PHP. Он выведет всё, что хранится, сделав это в читабельном виде:
Идём дальше. Представьте, что у вас есть web-страница, имеющая следующий вид: http://localhost/php-lessons/url/?name=anna&city=Valencia. Тестирование в данном примере осуществляется на локальном сервере. Если надо тестировать код на реальном веб-сайте, доступном в интернете, достаточно вместо localhost прописать имя сайта (домен) — тот же otus.ru.
Что же мы увидим в подопытном url? Нас могут интересовать следующие данные: — адрес веб-страницы без GET-параметров; — URL с GET-параметрами; — непосредственно GET-параметры без текущей ссылки (адреса веб-страницы).
Лучше всего разобраться с каждым из случаев по отдельности — так будет гораздо понятнее.
Получение полного URL в PHP
Для получения полного URL вместе с имеющимися GET-параметрами, пригодится следующий код:
$url = ((!empty($_SERVER['HTTPS'])) ? 'https' : 'http') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; echo $url;Что здесь что? В первую очередь, осуществляется проверка, какой именно протокол передачи данных задействуется: https или http. В случае, если значение $_SERVER[‘HTTPS’] не является пустым, речь идёт о протоколе https, в обратном случае — http.
На втором этапе выполняется присоединение двоеточия и двух слэшев, имени домена и остальной части URL.
Итог выполнения кода будет следующим:
Если протокол получать не требуется, код на PHP можно немного сократить:
Смотрим на результат и видим, что протокол отсутствует:
Получение URL в PHP без GET-параметров
Иногда эти параметры, передаваемые в качестве части ссылки, нас не интересуют, то есть требуется получить адрес без них. Мы говорим о следующих параметрах: name=anna&city=Valencia.
В действительности их можно отсечь, используя функцию explode в PHP, разбивающую строку по разделителю. Не стоит объяснять, что ссылка представляет собой строку, а параметры GET начинают прописываться после «?». В результате вопросительный знак и станет разделителем, а функция explode сделает из строки массив с 2-мя элементами. Первый элемент станет содержать искомую ссылку без GET-параметров, так как эти самые параметры останутся во втором элементе.
Код на PHP с использованием переменной $_SERVER будет выглядеть так:
Получение только параметров GET
Эта операция тем более не вызывает сложностей. В данном случае код с использованием переменной $_SERVER будет выглядеть следующим образом:
С помощью этого кода получим:
Это всё. Надеемся, что теперь вы знаете, как происходит получение PHP ссылки и как работает глобальная переменная $_SERVER. Если же интересуют более продвинутые знания, записывайтесь на курсы OTUS!
Как определить текущий url сайта и директории исполняющего файла в php
Если вы программируете на php, то вам обязательно придется столкнуться с такими понятиями , как относительные и абсолютные ссылки, директории скриптов и т.п.
Начнем с простого, а именно определения текущей страницы сайта.
Сделать это можно с помощью элемента супермассива: $_SERVER['REQUEST_URI']. Пример: echo $_SERVER['REQUEST_URI']; - выдаст ссылку текущей страницы сразу после домена со всеми GET параметрами, если они есть.
При методах include или require в php появляется необходимость использовать либо относительные пути директорий, либо абсолютные. Первые задаются относительно папки исполняющего скрипта. Например, есть файл index.php в папке sait. Нам нужно инклудить файл msg.php, который находится в этой же папке - тогда мы будем использовать команду include('msg.php'); Если бы msg.php находился в папке выше, то include('../msg.php');
Что касается абсолютных путей, то они должны идти от корневой папки сервера. Чтобы правильно подключить файл на include используйте следующую конструкцию:
Здесь $_SERVER['DOCUMENT_ROOT'] подключит путь от корневой папки сервера (например: /var/www/u010381422/data/www/вашсайт.ру), а /sait/msg.php - часть ссылки, которую мы можем доподключить вручную.
Если подключения от корневой директории нужно производить часто, то рекомендую использовать константу:
define('ROOT', $_SERVER['DOCUMENT_ROOT']);
include(ROOT."/sait/msg.php");Константы __FILE__ и __DIR__ в php
__FILE__ Вы можете использовать полезную константу __FILE__ для определения полного пути от сервера к вашему исполняющему файлу с выводом его имени и расширением. Например, если в нашем примере мы напишем echo __FILE__; - то получим полный путь к файлу, от которого запущена эта команда: /var/www/u010381422/data/www/вашсайт.ру/sait/msg.php (естественно, у вас будет другой путь директории).
__DIR__ В отличие от __FILE__ константа __DIR__ показывает только директорию исполняющего файла без его имени. Например: echo __DIR__; (выведет: /var/www/u010381422/data/www/вашсайт.ру/sait)
Если подвести итог, то создайте любой php файл и разместить в нем код:
echo $_SERVER['REQUEST_URI']; echo '
'; //Текущая ссылка файла
echo __FILE__; echo '
'; //Полный путь и имя текущего файла - /var/www/u010381422/data/www/вашсайт.ру/sait/msg.php
echo __DIR__; echo '
'; //Директория файла (эквивалент: dirname(__FILE__) ) - /var/www/u010381422/data/www/вашсайт.ру/sait
?>После запуска такого файла, вы увидите все параметры индивидуальные для вашего сервера.