Gennaio 10, 2025

headers_list() in PHP: Cos’è e A Cosa Serve?

Introduzione

La funzione headers_list() in PHP è un utile strumento per gestire le intestazioni HTTP. In questo articolo, esploreremo come utilizzare questa funzione per visualizzare le intestazioni che sono state inviate o che saranno inviate al client.

Spiegazione

La funzione headers_list() restituisce un array contenente tutte le intestazioni HTTP che sono state impostate o inviate dallo script corrente. Questo è particolarmente utile per il debug, poiché consente di vedere quali intestazioni sono state aggiunte al flusso di risposta HTTP.

Quando si utilizza

La funzione headers_list() è tipicamente utilizzata per verificare le intestazioni prima che vengano inviate al client. Può essere utilizzata anche per il debug, al fine di garantire che le intestazioni siano correttamente formattate e che non ci siano duplicati indesiderati.

Esempi

Di seguito sono riportati alcuni esempi di utilizzo della funzione headers_list() in PHP.

<?php
// Imposta alcune intestazioni HTTP
header('Content-Type: text/plain');
header('X-Powered-By: PHP/8.0');

// Recupera e stampa la lista delle intestazioni
$headers = headers_list();
print_r($headers);
?>

In questo esempio, impostiamo due intestazioni HTTP: Content-Type e X-Powered-By. Utilizziamo quindi headers_list() per recuperare e stampare l’elenco delle intestazioni attualmente impostate.

<?php
// Controlla se un'intestazione è già stata inviata
if (!headers_sent()) {
    header('Cache-Control: no-cache');
}

// Recupera e stampa la lista delle intestazioni
$headers = headers_list();
foreach ($headers as $header) {
    echo $header . "\n";
}
?>

In questo secondo esempio, prima controlliamo se le intestazioni sono già state inviate usando headers_sent(). Se non sono state inviate, impostiamo un’intestazione aggiuntiva: Cache-Control. Quindi, stampiamo tutte le intestazioni attualmente impostate.

Questi esempi mostrano come headers_list() può essere utilizzata per monitorare e gestire le intestazioni HTTP nel tuo script PHP. Ricorda che le intestazioni devono essere inviate prima di qualsiasi output HTML o testo al client.

Giorgio

Sono un Web Developer con oltre 20 anni di esperienza nello sviluppo di applicazioni web complesse. Specializzato in PHP, gestione di database relazionali e non relazionali, e integrazione di API, realizzo soluzioni robuste e scalabili per soddisfare esigenze aziendali e tecniche. Mi occupo di architetture server-side, ottimizzazione delle performance e automazione dei processi.