PHP/Programmazione/Variabili globali/$ SERVER
Wikibooks, manuali e libri di testo liberi.
- Introduzione PHP/Introduzione
- Installazione e configurazione PHP/Installazione e configurazione
- Programmazione PHP/Programmazione
- Una pagina PHP PHP/Programmazione/Una pagina PHP
- echo PHP/Programmazione/echo
- Commenti PHP/Programmazione/Commenti
- Variabili PHP/Programmazione/Variabili
- Operatori PHP/Programmazione/Operatori
- Array PHP/Programmazione/Array
- Condizioni PHP/Programmazione/Condizioni
- Cicli PHP/Programmazione/Cicli
- Funzioni di base PHP/Programmazione/Funzioni di base
- Funzioni personalizzate PHP/Programmazione/Funzioni personalizzate
- Variabili globali PHP/Programmazione/Variabili globali
- $GLOBALS PHP/Programmazione/Variabili globali/$GLOBALS
- $_GET PHP/Programmazione/Variabili globali/$_GET
- $_POST PHP/Programmazione/Variabili globali/$_POST
- $_SESSION PHP/Programmazione/Variabili globali/$_SESSION
- $_COOKIE PHP/Programmazione/Variabili globali/$_COOKIE
- $_SERVER PHP/Programmazione/Variabili globali/$_SERVER
- File PHP/Programmazione/File
- Immagini PHP/Programmazione/Immagini
- Espressioni regolari PHP/Programmazione/Regexp
- Programmazione orientata agli oggetti PHP/Programmazione/OOP
- Programmazione avanzata con le classi PEAR PHP/PEAR
- PHP e i database PHP/Database
- Funzioni PHP per l'accesso ai database
- Database e object oriented PHP/Dboop
- PHP Design Pattern PHP/PHP Design Pattern
- Smarty PHP/Smarty
- Sicurezza delle applicazioni web PHP/Sicurezza
- PHP CLI: Command Line Interpreter PHP/Cli
- PHP GTK2: applicazioni desktop in PHP PHP/Gtk
- Wikibook credits
[modifica] Cos'è
$_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.
[modifica] Utilizzo
È 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 tipo di autenticazione.
- DOCUMENT_ROOT la cartella radice dello script definita nel file di configrazione del server.
- GATEWAY_INTERFACE la versione delle specifiche CGI usate dal server.
- HTTP_ACCEPT
- HTTP_ACCEPT_CHARSET 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

