PHP Program to show current page URL

Как в 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.

Итог выполнения кода будет следующим:

Screenshot_1-1801-0dd7a2.png

Если протокол получать не требуется, код на PHP можно немного сократить:

Screenshot_2-1801-d9667c.png

Смотрим на результат и видим, что протокол отсутствует:

Screenshot_3-1801-8cafa5.png

Получение URL в PHP без GET-параметров

Иногда эти параметры, передаваемые в качестве части ссылки, нас не интересуют, то есть требуется получить адрес без них. Мы говорим о следующих параметрах: name=anna&city=Valencia.

В действительности их можно отсечь, используя функцию explode в PHP, разбивающую строку по разделителю. Не стоит объяснять, что ссылка представляет собой строку, а параметры GET начинают прописываться после «?». В результате вопросительный знак и станет разделителем, а функция explode сделает из строки массив с 2-мя элементами. Первый элемент станет содержать искомую ссылку без GET-параметров, так как эти самые параметры останутся во втором элементе.

Код на PHP с использованием переменной $_SERVER будет выглядеть так:

Screenshot_4-1801-24d62c.png

Screenshot_5-1801-7fbe83.png

Получение только параметров GET

Эта операция тем более не вызывает сложностей. В данном случае код с использованием переменной $_SERVER будет выглядеть следующим образом:

Screenshot_6-1801-41b5aa.png

С помощью этого кода получим:

Screenshot_7-1801-1863fc.png

Это всё. Надеемся, что теперь вы знаете, как происходит получение PHP ссылки и как работает глобальная переменная $_SERVER. Если же интересуют более продвинутые знания, записывайтесь на курсы OTUS!

Источник

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.

Источник

Get the Current URL of Webpage in PHP

If you are browsing a webpage or a web application, PHP will store a lot of useful information in the background. This information gets stored in PHP’s super-global variables. These are pre-defined variables that are available in all types of scope. You can use these variables to obtain the current URL of the web page.

How to get the current full URL?

The super-global variable called $_SERVER can fetch you the current URL of a website. Some of the properties of the variable that you can access include HTTP_USER_AGENT , HTTP_HOST and HTTP_ACCEPT . For the URL, we will access the HTTP_HOST and REQUEST_URl property.

But you need to check the protocol of the website, if it is HTTP or HTTPS .

Example Code

Output

https://www.stechies.com/current-url.php?v=1

Explanation

In the code above, the super-global variable $_SERVER is used to access the property ‘HTTPS’ to check and fetch the protocol used for the site. The value is assigned to a variable called $protocol.

Then, the $_SERVER variable is used again to access the 'HTTP_HOST' property to obtain the host name. The property REQUEST_URl is used to fetch URL of the current webpage. Both the information is appended using the concatenation operator (.) and stored in the variable $finalurl . This value is printed out using the echo statement.

Function to display full URL

Output

https://www.stechies.com/current-url.php?o=p

Explanation

This code checks whether the current site runs on HTTP or HTTPS , using the $_SERVER . Then, with that value (which can be HTTPS or HTTP), the current hostname and URL of the site is appended. The combined value of all that information gives us the full URL of the website.

Output

https://www.stechies.com/current-url.php?o=p

You can use this code to get the current URL of the webpage when you know that your site is running on HTTP or HTTPS .

  • Learn PHP Language
  • PHP Interview Questions and Answers
  • PHP Training Tutorials for Beginners
  • Display Pdf/Word Document in Browser Using PHP
  • Call PHP Function from JavaScript
  • Call a JavaScript Function from PHP
  • PHP Pagination
  • Alert Box in PHP
  • Php Count Function
  • PHP Filter_var ()
  • PHP array_push Function
  • strpos in PHP
  • PHP in_array Function
  • PHP strtotime() function
  • PHP array_merge() Function
  • explode() in PHP
  • implode() in PHP
  • PHP array_map()

Источник

Оцените статью