Pobierz pełny adres URL w PHP

Retrieve Full Url Php



W PHP można używać dwóch typów zmiennych globalnych: zmienną superglobalną i zmienną zdefiniowaną przez użytkownika. $_SERWER to superglobalna zmienna tablicowa, która służy do pobierania pełnej ścieżki bieżącej strony. Protokół (HTTP lub HTTPS) adresu URL jest również wymagany do uzyskania pełnego adresu URL strony. Gdyby $_SERVER[„HTTPS”] zwroty 'na', wtedy z adresem URL zostanie użyty protokół HTTPS, w przeciwnym razie, HTTP zostanie użyty. W jaki sposób można pobrać pełny adres URL bieżącej strony za pomocą $_SERWER tablica została wyjaśniona w tym samouczku.

Niezbędne zmienne

Następujące zmienne superglobalne są wymagane, aby znaleźć adres URL bieżącej strony.







Zmienne superglobalne Cele
$_SERVER[„HTTPS”] Wraca na czy protokół HTTPS jest używany w adresie URL bieżącej strony.
$_SERVER[„HTTP_HOST”] Zwraca nazwę serwera bieżącej strony.
$_SERVER[„REQUEST_URI”] Zwraca żądaną nazwę zasobu.
$_SERVER[„SERVER_PORT”] Zwraca numer portu serwera.
$_SERVER[„QUERY_STRING”] Zwraca wartość ciągu zapytania, jeśli istnieje w adresie URL bieżącej strony.

Przykład 1: Wyświetl adres URL bieżącej strony za pomocą instrukcji warunkowej

Poniższy przykład pokazuje, jak można użyć instrukcji warunkowej, aby uzyskać protokół używany w adresie URL bieżącej strony. Utwórz plik PHP za pomocą następującego skryptu.



Wartość $_SERVER[‘HTTP_HOST’] służy do pobrania nazwy domeny bieżącego adresu URL. Wartość $_SERVER[‘REQUEST_URI’] jest używana do uzyskania nazwy żądanego zasobu. odszedł) funkcja służy do sprawdzenia, czy $_SERVER[‘HTTPS’] jest ustawiony czy nie, a jeśli jest ustawiony, to sprawdź czy wartość $_SERVER[‘HTTPS’] jest na albo nie. Następnie wartości tych trzech zmiennych są łączone z „//:”, aby pobrać pełny adres URL bieżącej strony.




// Przeczytaj nazwę domeny bieżącej strony
$domena = $_SERWER[„HTTP_HOST”];
//Odczytaj żądany zasób
$zasób = $_SERWER[„REQUEST_URI”];
// Sprawdź protokół bieżącego adresu URL
Jeśli( odszedł ($_SERWER[„HTTPS”]) && $_SERWER[„HTTPS”] === 'na')
$protokół = „https”;
w przeciwnym razie
$protokół = „http”;

// Połącz wszystkie części, aby uzyskać pełny adres URL
$url = $protokół.': //'.$domena.$zasób;
// Wydrukuj adres URL bieżącej strony
wyrzucił '

Adres URL bieżącego
strona to :

'
. $url;?>

Wyjście:





Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera. Wartość $_SERVER[‘HTTPS’] nie jest na dla serwera lokalnego. Tak więc dane wyjściowe pokazują http protokół dla bieżącego adresu URL.



Przykład 2: Wyświetl adres URL bieżącej strony za pomocą operatora trójargumentowego

Poniższy przykład pokazuje sposób uzyskania pełnego adresu URL bieżącej strony za pomocą operatora trójargumentowego. Utwórz plik PHP za pomocą następującego skryptu.

Gdyby warunek jest używany w poprzednim przykładzie, aby dowiedzieć się, który protokół jest używany w adresie URL bieżącej strony. To samo zadanie wykonuje się za pomocą operatora potrójnego w tym skrypcie. odszedł) funkcja służy do sprawdzenia, czy $_SERVER[‘HTTPS’] jest ustawiony czy nie, oraz czy wartość $_SERVER[‘HTTPS’] jest na, wtedy operator trójargumentowy zwróci HTTPS, w przeciwnym razie zwróci HTTP. Pozostałe części adresu URL są pobierane i drukowane jak w poprzednim przykładzie.


// Sprawdź protokół bieżącego adresu URL
$protokół = ( odszedł ($_SERWER[„HTTPS”]) && $_SERWER[„HTTPS”]
== 'na'?„https” : „http”);
// Przeczytaj nazwę domeny bieżącej strony
$domena = $_SERWER[„HTTP_HOST”];
//Odczytaj żądany zasób
$zasób = $_SERWER[„REQUEST_URI”];
// Połącz wszystkie części, aby uzyskać pełny adres URL
$url = $protokół.': //'.$domena.$zasób;
// Wydrukuj adres URL bieżącej strony
wyrzucił '

Adres URL bieżącej strony to:

'
. $url;
?>

Wyjście:

Poniższe dane wyjściowe pojawią się po uruchomieniu skryptu z serwera. Wartość $_SERVER[‘HTTPS’] nie jest na dla serwera lokalnego. Tak więc dane wyjściowe pokazują protokół HTTP dla bieżącego adresu URL.

Przykład 3: Wyświetl adres URL bieżącej strony na podstawie numeru portu

W poprzednich dwóch przykładach wartość $_SERVER[‘HTTPS’] jest używana do znalezienia protokołu bieżącego adresu URL strony, a żaden ciąg zapytania nie jest używany z adresem URL. Poniższy przykład pokazuje, jak zmienna $_SERVER[‘SERVER_PORT’] może zostać użyta do znalezienia protokołu i pobrania pełnego adresu URL z ciągiem zapytania. Utwórz plik PHP za pomocą następującego skryptu.

W tym przypadku do określenia protokołu używa się wielu warunków logicznych i operatora trójskładnikowego. Jeśli wartość $_SERVER[‘HTTPS’] jest pusta lub ustawiona na wyłączony, następnie sprawdzi wartość $_SERVER[‘SERVER_PORT’], aby znaleźć protokół bieżącego adresu URL. Zmienna $_SERVER[‘QUERY_STRING’] służy do pobierania wartości ciągu zapytania z adresu URL.


// Sprawdź protokół bieżącego adresu URL
$protokół = ((! pusty ($_SERWER[„HTTPS”]) && $_SERWER[„HTTPS”]
! = 'wyłączony') || $_SERWER['PORT SERWERA'] == 443)?„https: //” : 'http: //';
// Przeczytaj nazwę domeny bieżącej strony
$domena = $_SERWER[„HTTP_HOST”];
// Przeczytaj żądany zasób
$zasób = $_SERWER[„REQUEST_URI”];
// Odczytaj wartość ciągu zapytania
$zapytanie = $_SERWER[„QUERY_STRING”];
// Połącz wszystkie części, aby uzyskać pełny adres URL
$url = $protokół.$domena.$zasób;
// Wydrukuj adres URL bieżącej strony
wyrzucił '

Pełny adres URL bieżącej strony to:

'
. $url;
// Wydrukuj część ciągu zapytania
wyrzucił '

Ciąg zapytania to:

'
. $zapytanie;
?>

Wyjście:

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu z serwera bez żadnego ciągu zapytania. W adresie URL nie podano ciągu zapytania. Tak więc dane wyjściowe pokazują pusty ciąg zapytania.

Poniższe dane wyjściowe pojawią się po wykonaniu powyższego skryptu z serwera z ciągiem zapytania. Poniższe dane wyjściowe przedstawiają oddzielnie adres URL z ciągiem zapytania i ciągiem zapytania.

Wniosek

W tym samouczku przedstawiono różne sposoby pobierania pełnego adresu URL bieżącej strony na różnych przykładach. W tym samouczku pokazano również sposób oddzielenia adresu URL i ciągu zapytania. Mamy nadzieję, że ten samouczek pomoże czytelnikom poznać sposób odczytywania pełnego adresu URL bieżącej strony za pomocą skryptu PHP.