Получить полный URL-адрес в PHP
Программа 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