Recupera l'URL completo in PHP

Retrieve Full Url Php



In PHP possono essere utilizzati due tipi di variabili globali: la variabile superglobale e la variabile definita dall'utente. $_SERVER è una variabile array superglobale utilizzata per recuperare il percorso completo 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 è possibile recuperare l'indirizzo URL completo della pagina corrente utilizzando il $_SERVER array è stato spiegato in questo tutorial.

Variabili necessarie

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







Variabili Superglobali 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['RICHIESTA_URI'] Restituisce il nome della risorsa richiesta.
$_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 utilizzare l'istruzione condizionale 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. andato) la funzione viene utilizzata per verificare se $_SERVER['HTTPS'] è un set o meno e, se impostato, controlla il valore di $_SERVER['HTTPS'] se lo è Su o no. Successivamente, i valori di queste tre variabili vengono combinati con '//:' per recuperare l'URL completo della pagina corrente.




// Leggi il nome di dominio della pagina corrente
$dominio = $_SERVER['HTTP_HOST'];
//Leggi la risorsa richiesta
$risorsa = $_SERVER['RICHIESTA_URI'];
// Scopri il protocollo dell'URL corrente
Se( andato ($_SERVER['HTTP']) && $_SERVER['HTTP'] === 'Su')
$protocollo = 'https';
altro
$protocollo = 'http';

// Combina tutte le parti per ottenere l'indirizzo URL completo
$url = $protocollo.': //'.$dominio.$risorsa;
// Stampa l'indirizzo URL della pagina corrente
buttato fuori '

L'indirizzo URL dell'attuale
la pagina è:

'
. $url;?>

Produzione:





Il seguente output apparirà dopo aver eseguito lo script dal server. Il valore di $_SERVER['HTTPS'] non è Su per il server locale. Quindi l'output mostra il http protocollo per l'URL corrente.



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

L'esempio seguente mostra come ottenere l'URL completo 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. La stessa operazione viene eseguita utilizzando l'operatore ternario in questo script. andato) viene utilizzata per verificare se $_SERVER['HTTPS'] è un set o meno 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 nell'esempio precedente.


// Scopri il protocollo dell'URL corrente
$protocollo = ( andato ($_SERVER['HTTP']) && $_SERVER['HTTP']
== 'Su'?'https' : 'http');
// Leggi il nome di dominio della pagina corrente
$dominio = $_SERVER['HTTP_HOST'];
//Leggi la risorsa richiesta
$risorsa = $_SERVER['RICHIESTA_URI'];
// Combina tutte le parti per ottenere l'indirizzo URL completo
$url = $protocollo.': //'.$dominio.$risorsa;
// Stampa l'indirizzo URL della pagina corrente
buttato fuori '

L'indirizzo URL della pagina corrente è:

'
. $url;
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo 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 non viene utilizzata alcuna stringa di query 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, più condizioni logiche e operatori ternari vengono utilizzati 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. La variabile $_SERVER['QUERY_STRING'] viene utilizzata per recuperare il valore della stringa di query dall'URL.


// Scopri il protocollo dell'URL corrente
$protocollo = ((! vuoto ($_SERVER['HTTP']) && $_SERVER['HTTP']
! = 'spento') || $_SERVER['PORTA DEL SERVER'] == 443)?'https: //' : 'http: //';
// Leggi il nome di dominio della pagina corrente
$dominio = $_SERVER['HTTP_HOST'];
// Legge la risorsa richiesta
$risorsa = $_SERVER['RICHIESTA_URI'];
// Legge il valore della stringa di query
$query = $_SERVER['STRINGA DELLA DOMANDA'];
// Combina tutte le parti per ottenere l'indirizzo URL completo
$url = $protocollo.$dominio.$risorsa;
// Stampa l'indirizzo URL della pagina corrente
buttato fuori '

L'indirizzo URL completo della pagina corrente è:

'
. $url;
// Stampa la parte della stringa di query
buttato fuori '

La stringa di richiesta è:

'
. $query;
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra dal server senza alcuna stringa di query. Nell'URL non viene fornita alcuna stringa di query. Quindi l'output mostra la stringa di query vuota.

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

Conclusione

In questo tutorial vengono mostrati diversi modi per recuperare l'URL completo della pagina corrente utilizzando vari esempi. In questo tutorial viene mostrato anche il modo per separare l'URL e la stringa di query. Si spera che questo tutorial aiuti i lettori a conoscere il modo di leggere l'URL completo della pagina corrente utilizzando lo script PHP.