php

Recupera l'URL completo in PHP

Recupera l'URL completo in 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 che viene utilizzata per recuperare il percorso completo della pagina corrente. È richiesto anche il protocollo (HTTP o HTTPS) dell'URL per ottenere l'URL completo della pagina. Se $_SERVER['HTTPS'] ritorna 'sopra', quindi HTTPS verrà utilizzato con l'indirizzo URL, altrimenti, HTTP sarà usato. Come è possibile recuperare l'indirizzo URL completo della pagina corrente utilizzando il using $_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 sopra se viene utilizzato il protocollo HTTPS 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 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 meno e, se impostato, controlla il valore di $_SERVER['HTTPS'] se lo è sopra 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
if(isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'attivo')
$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
eco "

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 è sopra 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. è impostato() viene utilizzata per verificare se $_SERVER['HTTPS'] è un set o meno e se il valore di $_SERVER['HTTPS'] è sopra, 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 = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']
== 'acceso' ? "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
eco "

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 è sopra 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['HTTPS']) && $_SERVER['HTTPS']
!= 'spento') || $_SERVER['SERVER_PORT'] == 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['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 richiesta è:

". $interrogazione;
?>

Produzione:

Il seguente output apparirà dopo aver eseguito lo script sopra dal server senza alcuna stringa di query. Nessuna stringa di query è fornita nell'URL. 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. Il seguente output mostra l'indirizzo URL con la stringa di query e la stringa di query separatamente.

Conclusione

In questo tutorial sono 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.

Tutorial Shadow of the Tomb Raider per Linux
Shadow of the Tomb Raider è la dodicesima aggiunta alla serie Tomb Raider, un franchise di giochi d'azione e avventura creato da Eidos Montreal. Il gi...
Come aumentare gli FPS in Linux?
FPS sta per Fotogrammi al secondo. Il compito dell'FPS è misurare il frame rate nelle riproduzioni video o nelle prestazioni di gioco game. In parole ...
I migliori giochi di laboratorio dell'app Oculus
Se possiedi un visore Oculus, devi essere informato sul sideloading. Il sideloading è il processo di installazione di contenuti non archiviati sul vis...