PHP/Programmazione/Variabili globali/$ SERVER

Wikibooks, manuali e libri di testo liberi.
Indice del libro

Cos'è[modifica]

$_SERVER (o $HTTP_SERVER_VARS se la versione PHP è inferiore alla 4.1.0) è 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.

Utilizzo[modifica]

È 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. Nell'esempio seguente viene stampato l'indirizzo IP dell'utente:

 $ip = $_SERVER["REMOTE_ADDR"];
 print "Il tuo ip è $ip";

Si noti che alcune chiavi restituiscono o meno un valore a seconda dello stato del server e del client.
Ecco l'elenco delle chiavi in ordine alfabetico:

  • argc il numero degli argomenti passati da linea di comando.
  • argv l'array degli argomenti passati da linea di comando.
  • AUTH_TYPE il tipo di autenticazione.
  • DOCUMENT_ROOT la cartella radice dello script definita nel file di configurazione del server.
  • GATEWAY_INTERFACE la versione delle specifiche CGI usate dal server.
  • HTTP_ACCEPT
  • HTTP_ACCEPT_CHARSET il tipo di carattere accettato.
  • HTTP_ACCEPT_ENCODING il tipo di encoding accettato.
  • HTTP_ACCEPT_LANGUAGE la lingua accettata, ad es. 'it'.
  • HTTP_CONNECTION
  • HTTP_HOST
  • HTTP_REFERER se ne esiste uno contiene l'indirizzo della pagina precedente a quella attuale, utile per sapere da dove arriva chi accede al nostro sito.
  • HTTP_USER_AGENT informazioni sul sistema operativo e browser del client, ad es.
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
sono le informazioni lasciate dal bot di Google e
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.10) Gecko/20050716 Firefox/1.0.6 
per un utente che usa un sistema Linux e Mozilla Firefox
  • PATH_TRANSLATED
  • QUERY_STRING la querystring appesa, ottenibile anche con $_GET
  • REMOTE_ADDR l'indirizzo IP del client.
  • REMOTE_HOST
  • REMOTE_PORT la porta usata dall'utente per effettuare la connessione.
  • REQUEST_METHOD il tipo di richiesta fatto per accedere alla pagina, ad esempio 'GET' o 'POST'.
  • REQUEST_TIME il timestamp all'inizio della richiesta (solo dalla versione 5.1.0 di PHP).
  • REQUEST_URI la URI usata per accedere questa pagina.
  • SERVER_ADMIN l'amministratore del server dal file di configurazione del server.
  • SERVER_NAME il nome dell' host dove lo script viene eseguito.
  • SERVER_PORT la porta usata dal server.
  • SERVER_PROTOCOL il nome e la versione del protocollo tramite il quale è stata richiesta la pagina ad esempio 'HTTP/1.1'.
  • SERVER_SIGNATURE la firma del server contenente versione e host name.
  • SERVER_SOFTWARE la stringa di identificazione del server.
  • SCRIPT_FILENAME il percorso assoluto dello script in esecuzione.
  • SCRIPT_NAME il nome del file.