Niezbędne zmienne
W celu znalezienia adresu URL bieżącej strony wymagane są następujące zmienne Superglobal.
Zmienne superglobalne | Cele |
---|---|
$ _Server ['https'] | Wraca NA Jeśli 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ę zasobów. |
$ _Server ['server_port'] | Zwraca numer portu serwera. |
$ _Server ['query_string'] | Zwraca wartość ciągu zapytania, jeśli istnieje na adresie URL bieżącej strony. |
Przykład 1: Wyświetl adres URL bieżącej strony za pomocą instrukcji warunkowej
Poniższy przykład pokazuje, w jaki sposób instrukcję warunkową można użyć do uzyskania protokołu użytego w adresie URL bieżącej strony. Utwórz plik PHP z następującym skryptem.
Wartość $ _server ['http_host'] jest używana do uzyskania nazwy domeny bieżącego adresu URL. Wartość $ _server ['request_URI'] jest używana do uzyskania nazwy żądanego zasobu. isset () Funkcja służy do sprawdzenia, czy $ _server ['https'] jest zestawem lub nie, a jeśli ustawiona, to sprawdź wartość $ _Server ['https'] NA albo nie. Następnie wartości tych trzech zmiennych są połączone z „//:” Aby pobrać pełny adres URL bieżącej strony.
// Przeczytaj nazwę domeny bieżącej stronyAdres URL bieżącego
Strona to:
Wyjście:
Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera. Wartość $ _server [„https '] nie jest NA dla serwera lokalnego. Więc wyjście pokazuje http protokół obecnego adresu URL.
Przykład 2: Wyświetl adres URL bieżącej strony za pomocą operatora trójskładnikowego
Poniższy przykład pokazuje sposób uzyskania pełnego adresu URL bieżącej strony za pomocą operatora trójskładnikowego. Utwórz plik PHP z następującym skryptem.
Jeśli 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 odbywa się za pomocą operatora trójskładnikowego w tym skrypcie. isset () Funkcja służy do sprawdzenia, czy $ _server ['https'] jest zestawem, czy nie, a jeśli wartość $ _server ['https'] jest NA, wtedy operator trójskładnik zwróci HTTPS, w przeciwnym razie zwróci HTTP. Pozostałe części adresu URL są pobierane i drukowane jak poprzedni przykład.
// Znajdź protokół obecnego adresu URLAdres URL bieżącej strony to:
". $ url;Wyjście:
Następujące dane wyjściowe pojawi się po uruchomieniu skryptu z serwera. Wartość $ _server [„https '] nie jest NA dla serwera lokalnego. Tak więc wyjście pokazuje 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 i nie jest używany z URL żaden ciąg zapytania. Poniższy przykład pokazuje, w jaki sposób można użyć zmiennej $ _server ['server_port']. Utwórz plik PHP z następującym skryptem.
Tutaj używa się wielu logicznych warunków i operatora trójskładnikowego do znalezienia protokołu. 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. $ _SERVER ['query_string'] Służy do pobierania wartości ciągu zapytania z adresu URL.
// Znajdź protokół obecnego adresu URLPełny adres URL bieżącej strony to:
". $ url;Wyjście:
Następujące dane wyjściowe pojawi się po wykonaniu powyższego skryptu z serwera bez żadnego ciągu zapytania. W adresie URL nie znajduje się ciąg. Więc wyjście pokazuje pusty ciąg zapytania.
Następujące dane wyjściowe pojawi się po wykonaniu powyższego skryptu z serwera za pomocą ciągu zapytania. Poniższe dane wyjściowe pokazuje adres URL z ciągiem zapytania i ciąg zapytania osobno.
Wniosek
Różne sposoby odzyskania pełnego adresu URL bieżącej strony są pokazane w tym samouczku za pomocą różnych przykładów. Sposób oddzielenia adresu URL i ciągu zapytania jest również pokazany w tym samouczku. Mamy nadzieję, że ten samouczek pomoże czytelnikom poznać sposób odczytania pełnego adresu URL bieżącej strony za pomocą skryptu PHP.