La variabile globale php $ SERVER
Scritto da Erriko in Php il 20 marzo 2009
Inizio a parlare di php con alcune semplici variabili server che possono essere utilizzare per ottenere informazioni riguardo il server che si sta utilizzando o l’utente che esegue il codice php (che apre la pagina, per dirla in parole povere).
Ma veniamo a qualche tecnicismo in più: Cos’è la variabile $_SERVER (o $HTTP_SERVER_VARS se la versione PHP è inferiore alla 4.1.0)?
E’ una delle variabili globali predefinite di sistema. In sostanza è un array associativo di chiavi e valori i cui elementi sono rappresentati da informazioni riguardanti il lato server, il lato client e la connessione tra di essi.
È possibile accedere agli elementi di questo array iterando su di essi con un ciclo foreach oppure reperire il singolo valore di un elemento se ne conosciamo la chiave.
Chiaramente queste variabili tornano utili nelle più disparate occasioni. Sta alle vostre esigenze e alla vostra fantasia riutilizzarle quando più opportuno.
Nell’esempio seguente viene stampato l’indirizzo IP dell’utente:
$ip = $_SERVER[REMOTE_ADDR]; print "Il tuo ip è $ip";
Lo stesso scopo lo otterremmo con qualcosa del genere:
<?php echo $_SERVER['REMOTE_ADDR'] ?>
Ecco l’elenco delle variabili:
Informazioni del server
| $_SERVER['SERVER_SOFTWARE'] | il server Apache/2 |
| $_SERVER['SERVER_NAME'] | nome del server |
| $_SERVER['SCRIPT_FILENAME'] | percorso e nome dello script opt/apache/htdocs/pippo/nomesito.it/nomefile.php |
| $_SERVER['SCRIPT_NAME'] | nome dello script /variabili_server_php.php |
Informazioni del Client
| $_SERVER['REMOTE_HOST'] | nome del computer (di solito e’ l’isp con cui vi collegate ad internet) |
| $_SERVER['REMOTE_USER'] | nome dell’utente(se richiediamo una autenticazione) |
| $_SERVER['REQUEST_METHOD'] | se era get o post GET |
| $_SERVER['REMOTE_ADDR'] | indirizzo del browser che fa la richiesta(di solito e’ l’isp con cui vi collegate ad internet) |
Informazioni passate dal client al server
| $_SERVER['QUERY_STRING'] | e’ la parte dell’url dopo il punto interrogativo |
| $_SERVER['CONTENT_LENGTH'] | lunghezza dei dati inviati |
| $_SERVER['HTTP_USER_AGENT'] | nome del browser e sistema operativo |
Alcune variabili predefinite di php che ci possono servire
| $HTTP_AUTH_USER | nome dell’utente(se c’e’ autenticazione) |
| $HTTP_AUTH_PW | password(se c’e’ autenticazione) |
| $PHP_SELF | nome dello script |
| /variabili_server_php.php | |
| $HTTP_POST_VARS | array che contiene le coppie chiave-valore(con post) |
| Array | |
| $HTTP_GET_VARS | array che contiene le coppie chiave-valore(con get) |
| Array | |
| HTTP_COOKIE_VAR['PHPSESSID'] | Contiene il valore dell’ID di sessione |
| HTTP_SERVER_VAR['HTTP_COOKIE'] | Contiene il valore di tutti i cookie |
| HTTP_SERVER_VAR['HTTP_HOST'] | Contiene il nome dell’host su quale risiede il server web |
| HTTP_SERVER_VAR['REMOTE_ADDR'] | Contiene l’indirizzo remoto del browser(Sicuramente dell’ISP) |
| HTTP_SERVER_VAR['SCRIPT_FILENAME'] | Contiene il nome e il percorso completo dello script corrente |
| HTTP_SERVER_VAR['SERVER_ADMIN'] | Dovrebbe contenere l’indirizzo e-mail inserito nel file di configurazione |
| HTTP_SERVER_VAR['SERVER_NAME'] | Contiene il nome del server web |
| HTTP_SERVER_VAR['SERVER_SOFTWARE'] | Contiene il nome del server web |




Un commento a “La variabile globale php $ SERVER”