Ottieni l'URL completo corrente in PHP

Krissnaawat Kaewsanmuang 16 febbraio 2024
PHP
  1. Usa http_build_url() per ottenere l’URL corrente in PHP
  2. Usa $_SERVER[] per ottenere l’URL corrente in PHP
  3. Usa $_SERVER['HTTPS'] per ottenere l’URL corrente in PHP
  4. Ottieni l’URL corrente inclusi i parametri in PHP
  5. Conclusione
Ottieni l'URL completo corrente in PHP

Il tutorial introduce come ottenere l’URL completo corrente nel linguaggio di programmazione PHP. Possono esserci molti casi d’uso per ottenere l’URL completo di PHP. Dobbiamo rendere il contenuto della pagina web in base ai parametri di query. Potrebbe essere necessario reindirizzare o aggiornare la pagina nel suo insieme. Quindi, un URL completo può essere di valore essenziale quando si tratta di programmazione web.

Qui discuteremo diversi modi per ottenere l’URL completo nella programmazione PHP.

In generale, ci sono alcuni passaggi che dobbiamo conoscere per ottenere l’URL completo della pagina attualmente in esecuzione, che sono indicati di seguito:

  • Dobbiamo creare una variabile PHP che memorizzerà l’URL in formato stringa.
  • Dobbiamo controllare se i server hanno HTTPS abilitato. In tal caso, dobbiamo aggiungere HTTPS alla stringa dell’URL. Se HTTPS non è abilitato, dobbiamo aggiungere HTTP alla stringa dell’URL.
  • Dobbiamo anche aggiungere il simbolo :// all’URL.
  • Dobbiamo aggiungere il nome HTTP_HOST del server. Il nome HTTP_HOST è l’host che abbiamo richiesto, ad es. www.google.com, www.exampledomain.com, ecc.
  • Dobbiamo aggiungere REQUEST_URI alla stringa dell’URL. REQUEST_URI è la risorsa che abbiamo richiesto, ad es. /index.php, ecc.

Ora discutiamo alcuni dei metodi più efficienti per ottenere l’URL completo corrente nell’ecosistema di programmazione PHP:

Usa http_build_url() per ottenere l’URL corrente in PHP

Questa soluzione è piuttosto semplice. Possiamo usare la funzione incorporata di PHP chiamata http_build_url(). Questo metodo funziona sia per HTTP che per HTTP.

$link =  http_build_url();

Questa funzione viene utilizzata per creare un URL. Accetta tutti insieme quattro parametri:

  • url: questo parametro rappresenta l’URL sotto forma di stringa o array associativo. Restituisce un valore simile a parse_url().
  • parti: questo parametro è lo stesso del primo argomento.
  • flags: è una maschera di bit di costanti HTTP_URL binarie.
  • new_url: se questo parametro è impostato, verrà riempito con le parti dell’URL composto come restituisce parse_url().

Nel complesso, questo metodo restituisce il nuovo URL come una stringa in caso di successo, altrimenti False in caso di fallimento.

Usa $_SERVER[] per ottenere l’URL corrente in PHP

Un altro modo è usare la variabile globale denominata $_SERVER[]. $_SERVER[] è una variabile incorporata di PHP che viene utilizzata per ottenere l’URL della pagina corrente. È anche una variabile superglobale. Quindi, è sempre disponibile in tutti gli ambiti.

Passiamo semplicemente il parametro REQUEST_URI alla variabile come mostrato nell’esempio seguente:

Esempio:

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  • $_SERVER[HTTP_HOST] rappresenta il nome host o il nome di dominio come https://www.delftstack.com/
  • $_SERVER[REQUEST_URI] represent URI like /dashboard/phpinfo.php

Usa $_SERVER['HTTPS'] per ottenere l’URL corrente in PHP

Ecco un altro formato hard code esplicito per ottenere l’URL corrente in PHP.

La variabile globale $_SERVER['HTTPS'] rappresenta lo stato dell’HTTPS. Quindi, possiamo usarlo all’interno della funzione isset() per verificare se HTTPS esiste o meno. Questo ci aiuterà a sapere se HTTPS è abilitato in un URL o meno. Nel frattempo, controllando il valore di $_SERVER['HTTPS'], possiamo decidere se aggiungere o meno “https” all’URL.

Entrambi gli esempi mostrano il rilevamento di HTTPS. L’esempio seguente è il formato lungo:

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Oppure puoi utilizzare il formato breve come mostrato nell’esempio seguente:

$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

Ottieni l’URL corrente inclusi i parametri in PHP

Per ottenere l’URL complessivo che include il percorso, i parametri e le stringhe di query, possiamo utilizzare http_build_url() come mostrato nell’esempio seguente:

$all_in_address_bar = http_build_url();

Conclusione

Questo tutorial ha dimostrato alcuni dei modi più efficienti per ottenere l’URL corrente nella programmazione PHP. Gli esempi ti aiuteranno sicuramente a capire il formato, il meccanismo e le sintassi utilizzati. La tecnica più utilizzata per ottenere l’URL corrente è quella di utilizzare la variabile super globale $_SERVER. Usando questo, hai il pieno controllo sul formato della sintassi. Tuttavia, la tecnica è un po’ complessa rispetto alle altre. Ora spetta a te decidere quale metodo per ottenere l’URL corrente si adatta meglio in base al tuo scenario di programmazione PHP. Ci possono essere diversi casi d’uso ed efficienza nell’usarne uno particolare. L’opzione migliore potrebbe essere quella di provarli tutti e scegliere quello più flessibile ed efficiente per il tuo scenario di programmazione.