Получить полный URL-адрес в PHP

Опубликовано: 4 Февраля, 2022

Программа PHP для получения полного URL-адреса запущенных в данный момент страниц.
Чтобы получить полный URL-адрес текущей запущенной страницы, выполните несколько шагов, которые приведены ниже:

  • Создайте переменную PHP, которая будет хранить URL-адрес в строковом формате.
  • Проверьте, включен ли протокол HTTPS на сервере. Если это так, добавьте «https» к строке URL-адреса. Если HTTPS не включен, добавьте «http» к строке URL-адреса.
  • Добавьте к URL-адресу обычный символ, например «: //».
  • Добавьте HTTP_HOST (хост, к которому мы запросили, например www.google.com, www.yourdomain.com и т. Д.) Имя сервера.
  • Добавьте REQUEST_URI (ресурс, который мы запросили, например /index.php и т. Д.) К строке URL.

Примечание. Используйте функцию isset (), чтобы проверить, включен ли HTTPS. Функция isset () используется для проверки существования переменной.

Статус HTTPS сохраняется в глобальной переменной $ _SERVER ['HTTPS']. Итак, используйте $ _SERVER ['HTTPS'] в функции isset (), чтобы проверить, существует он или нет. Это скажет нам, включен HTTPS или нет. Проверьте значение $ _SERVER ['HTTPS']. Если он включен, значит HTTPS включен, и мы должны добавить «https» к URL-адресу.

Program 1:

<?php
// Program to display URL of current page.
  
if(isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on")
    $link = "https";
else
    $link = "http";
  
// Here append the common URL characters.
$link .= "://";
  
// Append the host(domain name, ip) to the URL.
$link .= $_SERVER["HTTP_HOST"];
  
// Append the requested resource location to the URL
$link .= $_SERVER["REQUEST_URI"];
      
// Print the link
echo $link;
?>

Выход:

https://ide.geeksforgeeks.org/

Program 2:

<?php
// Program to display current page URL.
  
$link = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] === "on" ?
                "https" : "http") . "://" . $_SERVER["HTTP_HOST"] . 
                $_SERVER["REQUEST_URI"];
  
echo $link;
?>

Выход:

 https://ide.geeksforgeeks.org/

Результатом приведенного выше кода является https://ide.geeksforgeeks.org/ вместо https://ide.geeksforgeeks.org/index.php. Чтобы решить эту проблему, необходимо заменить $ _SERVER ['REQUEST_URI'] на $ _SERVER ['PHP_SELF']

Program 3: Displaying the currently executing PHP file URL

<?php
// Program to display complete URL    
      
if(isset($_SERVER["HTTPS"]) && 
            $_SERVER["HTTPS"] === "on")
    $link = "https";
    else
        $link = "http";
  
// Here append the common URL 
// characters.
$link .= "://";
      
// Append the host(domain name,
// ip) to the URL.
$link .= $_SERVER["HTTP_HOST"];
      
// Append the requested resource
// location to the URL
$link .= $_SERVER["PHP_SELF"];
      
// Display the link
echo $link;
?>

Выход:

 https://ide.geeksforgeeks.org/index.php

Program 4:

<?php
// Program to display complete URL
  
$link = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"]
                === "on" ? "https" : "http") . "://" .
          $_SERVER["HTTP_HOST"] . $_SERVER["PHP_SELF"];
  
// Display the complete URL
echo $link;
?>

Выход:

 https://ide.geeksforgeeks.org/index.php