Recupera l'intero URL in PHP

Recupera l'intero URL in PHP
In PHP possono essere utilizzati due tipi di variabili globali: la variabile superglobal e la variabile definita dall'utente. $ _Server è una variabile di array superglobal che viene utilizzata per recuperare l'intero percorso della pagina corrente. È necessario anche il protocollo (http o https) dell'URL per ottenere l'URL completo della pagina. Se $ _Server ['https'] ritorna 'SU', Quindi HTTPS verrà utilizzato con l'indirizzo URL, altrimenti, Http sarà usato. Come può essere recuperato l'indirizzo URL completo della pagina corrente $ _Server Array è stato spiegato in questo tutorial.

Variabili necessarie

Le seguenti variabili superglobal sono necessarie per scoprire l'indirizzo URL della pagina corrente.

Variabili superglobal Scopi
$ _Server ['https'] Ritorna SU Se il protocollo HTTPS viene utilizzato nell'URL della pagina corrente.
$ _Server ['http_host'] Restituisce il nome del server della pagina corrente.
$ _Server ['request_uri'] Restituisce il nome della risorsa richiesto.
$ _Server ['server_port'] Restituisce il numero di porta del server.
$ _Server ['query_string'] Restituisce il valore della stringa di query se esiste nell'indirizzo URL della pagina corrente.

Esempio 1: visualizzare l'URL della pagina corrente utilizzando un'istruzione condizionale

L'esempio seguente mostra come l'istruzione condizionale può essere utilizzata per ottenere il protocollo utilizzato nell'URL della pagina corrente. Crea un file PHP con il seguente script.

Il valore di $ _server ['http_host'] viene utilizzato per ottenere il nome di dominio dell'URL corrente. Il valore di $ _server ['request_uri'] viene utilizzato per ottenere il nome della risorsa richiesta. è impostato() La funzione viene utilizzata per verificare se $ _server ['https'] è un set o no, e se impostata, controlla il valore di $ _server ['https'] è SU o no. Successivamente, i valori di queste tre variabili sono combinati con '//:' per recuperare l'intero URL della pagina corrente.

// Leggi il nome di dominio della pagina corrente
$ Domain = $ _Server ['http_host'];
// Leggi la risorsa richiesta
$ risorse = $ _server ['request_uri'];
// Scopri il protocollo dell'URL corrente
if (ISSET ($ _ server ['https']) && $ _server ['https'] === 'on')
$ protocol = "https";
altro
$ protocol = "http";
// combina tutte le parti per ottenere l'indirizzo URL completo
$ url = $ protocollo.": //".$ dominio.$ risorsa;
// Stampa l'indirizzo URL della pagina corrente
eco "

L'indirizzo URL della corrente
La pagina è:

". $ URL;?>

Produzione:

Verrà visualizzato il seguente output dopo l'esecuzione dello script dal server. Il valore di $ _server ['https'] non è SU Per il server locale. Quindi l'output mostra il file http Protocollo per l'URL corrente.

Esempio 2: visualizzare l'URL della pagina corrente utilizzando l'operatore ternario

L'esempio seguente mostra il modo per ottenere l'intero URL della pagina corrente utilizzando l'operatore ternario. Crea un file PHP con il seguente script.

Se La condizione viene utilizzata nell'esempio precedente per scoprire quale protocollo viene utilizzato nell'URL della pagina corrente. Lo stesso compito viene eseguito utilizzando l'operatore ternario in questo script. è impostato() La funzione viene utilizzata per verificare se $ _server ['https'] è un set o no, e se il valore di $ _server ['https'] è SU, quindi l'operatore ternario restituirà HTTPS, altrimenti restituirà HTTP. Le altre parti dell'URL vengono recuperate e stampate come l'esempio precedente.

// Scopri il protocollo dell'URL corrente
$ protocol = (ISSET ($ _ server ['https']) && $ _server ['https']
== 'ON' ? "https": "http");
// Leggi il nome di dominio della pagina corrente
$ Domain = $ _Server ['http_host'];
// Leggi la risorsa richiesta
$ risorse = $ _server ['request_uri'];
// combina tutte le parti per ottenere l'indirizzo URL completo
$ url = $ protocollo.": //".$ dominio.$ risorsa;
// Stampa l'indirizzo URL della pagina corrente
eco "

L'indirizzo URL della pagina corrente è:

". $ URL;
?>

Produzione:

Verrà visualizzato il seguente output dopo l'esecuzione dello script dal server. Il valore di $ _server ['https'] non è SU Per il server locale. Quindi l'output mostra il protocollo HTTP per l'URL corrente.

Esempio 3: visualizzare l'URL della pagina corrente in base al numero di porta

Nei due esempi precedenti, il valore di $ _server ['https'] viene utilizzato per scoprire il protocollo dell'URL corrente della pagina e nessuna stringa di query viene utilizzata con l'URL. L'esempio seguente mostra come la variabile $ _server ['server_port'] può essere utilizzata per scoprire il protocollo e recuperare l'indirizzo URL completo con la stringa di query. Crea un file PHP con il seguente script.

Qui, vengono utilizzate più condizioni logiche e operatore ternario per scoprire il protocollo. Se il valore di $ _server ['https'] è vuoto o impostato su spento, quindi controllerà il valore di $ _server ['server_port'] per scoprire il protocollo dell'URL corrente. $ _Server ['query_string'] La variabile viene utilizzata per recuperare il valore della stringa di query dall'URL.

// Scopri il protocollo dell'URL corrente
$ protocollo = ((!vuoto ($ _ server ['https']) && $ _server ['https']
!= 'Off') || $ _Server ['server_port'] == 443) ? "https: //": "http: //";
// Leggi il nome di dominio della pagina corrente
$ Domain = $ _Server ['http_host'];
// Leggi la risorsa richiesta
$ risorse = $ _server ['request_uri'];
// Leggi il valore della stringa di query
$ query = $ _server ['query_string'];
// combina tutte le parti per ottenere l'indirizzo URL completo
$ url = $ protocollo.$ dominio.$ risorsa;
// Stampa l'indirizzo URL della pagina corrente
eco "

L'indirizzo URL completo della pagina corrente è:

". $ URL;
// Stampa la parte della stringa di query
eco "

La stringa di query è:

". $ query;
?>

Produzione:

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra dal server senza alcuna stringa di query. Non è fornita alcuna stringa di query nell'URL. Quindi l'output mostra la stringa di query vuota.

Verrà visualizzato il seguente output dopo aver eseguito lo script sopra dal server con la stringa di query. Il seguente output mostra l'indirizzo URL con la stringa di query e la stringa di query separatamente.

Conclusione

Diversi modi di recuperare l'intero URL della pagina corrente sono mostrati in questo tutorial usando vari esempi. Il modo per separare l'URL e la stringa di query è anche mostrato in questo tutorial. Spero che questo tutorial aiuterà i lettori a conoscere il modo di leggere l'intero URL della pagina corrente usando lo script PHP.