La posizione dell'intestazione in PHP

Subodh Poudel 8 luglio 2021
  1. Introduzione alla funzione Header() e alla sua sintassi in PHP
  2. Usa la funzione header() con la stringa location: Header String in PHP
La posizione dell'intestazione in PHP

Questo articolo introdurrà il concetto della funzione header() e la sua sintassi in PHP. Coprirà le regole di scrittura dell’intestazione in PHP. Questo metodo funzionerà anche con l’intestazione Content-Type e Content-Disposition.

In questo articolo introdurremo anche la stringa di intestazione location:. Spiegheremo l’uso e l’essenza dell’intestazione della posizione in PHP. L’articolo dimostrerà come la posizione dell’intestazione invia il codice di risposta e reindirizza il browser a un’altra pagina.

Introduzione alla funzione Header() e alla sua sintassi in PHP

La funzione header() è una funzione PHP integrata che ci consente di inviare un’intestazione HTTP non elaborata al client. L’intestazione inviata è nella forma non elaborata. Dovremmo invocare la funzione header() prima che venga inviato qualsiasi output. L’output in qualsiasi forma, come l’output inviato dai tag HTML o da un modulo PHP, dovrebbe essere scartato prima di inviare le informazioni di intestazione. In questo modo possiamo controllare le informazioni inviate al browser dal server prima di qualsiasi output.

La sintassi della funzione header() è: header(string,replace,http_response_code);. La funzione accetta tre parametri. Il primo argomento è una stringa di intestazione. Esistono due tipi di stringhe di intestazione. Il primo tipo è una stringa che inizia con HTTP/. Specifica i codici HTTP da inviare al browser. Il secondo tipo di stringa di intestazione è l’intestazione location:, che reindirizza il browser alla posizione specificata. Il parametro successivo nella funzione è replace, che rappresenta un valore booleano. È un parametro facoltativo che determina se l’intestazione deve sostituire l’intestazione simile precedente. Il terzo parametro, http_response code è anche un parametro opzionale che forza il codice di risposta HTTP al valore specificato.

Ad esempio, crea una funzione header() e usa la stringa di intestazione come Content-Type. Scrivi il valore del Content-Type come application/pdf. Crea di nuovo un’altra funzione header(). Questa volta, scrivi la stringa di intestazione come Content-Disposition. Assegna il valore della stringa come attachment. Non dimenticare un punto e virgola dopo di esso. Scrivi un altro attributo nomefile dopo il punto e virgola e fornisci il nome del file come download.pdf.

Quando eseguiamo il seguente script, viene visualizzata una finestra di dialogo di download. Ti chiede di scaricare un file pdf denominato download.pdf. La prima intestazione indica che il file deve essere in formato pdf, e la seconda intestazione indica il nome del file e obbliga il browser a visualizzare la finestra di dialogo per salvare il file.

Codice di esempio:

#php 7.x
<?php
header('Content-Type: application/pdf'); 
header('Content-Disposition: attachment; filename="downloaded.pdf"');
?>

Usa la funzione header() con la stringa location: Header String in PHP

Possiamo usare la funzione header() con la stringa di intestazione location: in PHP. La stringa di intestazione reindirizza la pagina Web alla posizione specificata. Viene generalmente utilizzato nelle pagine Web per reindirizzare l’utente a una pagina specifica dopo aver inviato l’input. Ad esempio, quando l’utente inserisce le credenziali corrette durante l’accesso, possiamo utilizzare la posizione dell’intestazione per reindirizzarlo alla home page. Possiamo specificare il valore booleano e il codice di risposta nella funzione header(). Tuttavia, questi parametri sono facoltativi. Il valore booleano predefinito è vero, il che significa che sostituirà l’intestazione simile precedente. Possiamo anche fornire il codice di risposta come terzo parametro. Il codice di risposta predefinito è 302. Ad esempio, possiamo scrivere un array su un file e reindirizzare la pagina corrente a un’altra pagina che mostra il messaggio che il file è stato scritto. Possiamo usare la funzione file_put_contents() per scrivere nel file.

Ad esempio, crea un array sulla variabile $day. Creare le chiavi come weather e time e i rispettivi valori come Sunny e 1:30 pm. Quindi utilizzare il file_input_contents() e specificare un file file.txt come primo parametro. Usa la funzione print_r() come secondo parametro. Fornisci la variabile $day e il valore booleano true come parametri della funzione print_r(). Valuta l’intera espressione usando la condizione if. All’interno del blocco if utilizzare la funzione header(). Specificare la posizione come message.php all’interno della funzione. Utilizzare i due punti : per specificare la posizione. Nota che non dovrebbe esserci alcuno spazio tra la posizione e i due punti :. Crea un file PHP message.php. Visualizza un messaggio nel file che informa che il file è stato scritto.

Nell’esempio sopra, l’array viene scritto nel file file.txt. La condizione if restituisce true e la funzione header() reindirizza la posizione a message.php. Pertanto, viene mostrato l’output. Possiamo anche vedere l’URL modificato nella barra degli indirizzi. Se ci fosse stata un’altra funzione di intestazione al di sotto della funzione di intestazione esistente, quest’ultima sostituirebbe la precedente intestazione. Questo perché il valore predefinito dell’opzione replace è vero nella funzione header().

Esempio di codice:

#php 7.x
<?php
$day = array (
    'weather' => 'Sunny',
    'time' => '1:30 pm',
);
if(file_put_contents('file.txt', print_r($day, true))){
    header("location: message.php");
}
?>

Produzione:

The file has been written.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn