11.7.2 Variables prédéfinies 
11.7 Mots réservés en PHP 
11 Appendices 
 Manuel PHP 
 ->Variables de serveur : $_SERVER . Variables d'environnement : $_ENV . HTTP Cookies: $_COOKIE . HTTP GET variables: $_GET . HTTP POST variables: $_POST . Variable de téléchargement de fichier via HTTP : $_FILES . Variables de requête : $_REQUEST . Session variables: $_SESSION . Variables globales: $GLOBALS . Le dernier message d'erreur : $php_errormsg
 
  | 
 
  11.7.2.1 Variables de serveur : $_SERVER 
 | Note |  | 
 
      Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait
       
$HTTP_SERVER_VARS
 .
      
 |   
 
$_SERVER
  is an array containing information
     such as headers, paths, and script locations. The entries in this
     array are created by the webserver. There is no guarantee that
     every webserver will provide any of these; servers may omit some,
     or provide others not listed here. That said, a large number of
     these variables are accounted for in the  CGI 1.1 specification , so you should
     be able to expect those.
     
 
     Cette variable est une 'superglobal', ou globale automatique. 
     Cela signifie qu'elle est simplement disponible dans tous les
     contextes d'exécution (fonctions ou méthodes). Vous n'avez pas
     besoin de faire 
      
global $_SERVER;
  pour y accéder, comme
     vous le faisiez avec  
$HTTP_SERVER_VARS
 .
    
 
$HTTP_SERVER_VARS
  contient les mêmes
     informations, mais n'est pas autoglobale.
     
 
     Si la directive   register_globals  
     est active, alors ces variables seront aussi rendues directement
     accessible dans le contexte d'exécution global. C'est à dire séparément
     des tableaux  
$_SERVER
  et  
$HTTP_SERVER_VARS
 .
     Pour plus d'informations sur la sécurité de cette configuration, voyez le
     chapitre  Utiliser la directive Register
      Globals . Ces variables globales individuelles ne sont pas des globales.
     
 
     You may or may not find any of the following elements in
     $_SERVER. Note that few, if any, of these will be available (or
     indeed have any meaning) if running PHP on the command line.
     
 
 
- '
PHP_SELF
'
 
- 
	     Le nom du fichier du script en cours d'exécution, par
	     rapport au document root. 
	     Par exemple,  
$_SERVER['PHP_SELF']
  dans le script
	     situé à l'adresse  
http://www.monsite.com/test.php/foo.bar
 
         sera  
/test.php/foo.bar
 .
        
         Si PHP fonctionne en ligne de commande,
	     cette variable n'est pas disponible.
          
 
- '
argv
'
 
- 
         Tableau des arguments passées au script. Lorsque le script
    	 est appelé en ligne de commande, cela donne accès
	     aux arguments, comme en langage C. Lorsque le script est
    	 appelé avec la méthode GET, ce tableau contiendra
	     la chaîne de requête.
        
 
 
- '
argc
'
 
- 
         Contient le nombre de paramètres de la ligne de commande
	     passés au script (si le script fonctionne en ligne de commande).
        
 
 
- '
GATEWAY_INTERFACE
'
 
- 
         Numéro de révision de l'interface CGI du serveur :
	 i.e. ' 
CGI/1.1
 '.
        
 
 
- '
SERVER_NAME
'
 
- 
         Le nom du serveur hôte qui exécute le script suivant.
    	 Si le script est exécuté sur un hôte virtuel, ce sera
    	 la valeur définie pour cet hôte virtuel.
        
 
 
- '
SERVER_SOFTWARE
'
 
- 
         Chaîne d'identification du serveur, qui est donnée dans
    	 les en-têtes lors de la réponse aux requêtes.
        
 
 
- '
SERVER_PROTOCOL
'
 
- 
         Nom et révision du protocole de communication : i.e. ' 
HTTP/1.0
 ';
        
 
 
- '
REQUEST_METHOD
'
 
- 
         Méthode de requête utilisée pour accéder
    	 à la page; i.e. ' 
GET
 ', 
    	 ' 
HEAD
 ', ' 
POST
 ', ' 
PUT
 '.
        
 
 
- '
QUERY_STRING
'
 
- 
         La chaîne de requête, si elle existe, qui est
    	 utilisée pour accéder à la page.
        
 
 
- '
DOCUMENT_ROOT
'
 
- 
         La racine sous laquelle le script courant est exécuté,
	     comme défini dans la configuration du serveur.
        
 
 
- '
HTTP_ACCEPT
'
 
- 
         Contenu de l'en-tête  
Accept:
  de la
    	 requête courante, s'il y en a une.
        
 
 
- '
HTTP_ACCEPT_CHARSET
'
 
- 
         Contenu de l'en-tête  
Accept-Charset:
 
	     de la requête courante, s'elle existe. Par exemple :
	     ' 
iso-8859-1,*,utf-8
 '.
        
 
 
- '
HTTP_ACCEPT_ENCODING
'
 
- 
         Contenu de l'en-tête  
Accept-Encoding:
 
	     de la requête courante, si elle existe. Par exemple : ' 
gzip
 '.
        
 
 
- '
HTTP_ACCEPT_LANGUAGE
'
 
- 
         Contenu de l'en-tête  
Accept-Language:
  de
	     la requête courante, si elle existe. Par exemple : ' 
fr
 '.
        
 
 
- '
HTTP_CONNECTION
'
 
- 
         Contenu de l'en-tête  
Connection:
  de la
	     requête courante, si elle existe. Par exemple : ' 
Keep-Alive
 '.
        
 
 
- '
HTTP_HOST
'
 
- 
         Contenu de l'en-tête  
Host:
  de la
	      requête courante, si elle existe.
        
 
 
- '
HTTP_REFERER
'
 
- 
         L'adresse de la page (si elle existe) qui a conduit le
	     client à la page courante. Cette valeur est
	     affectée par le client, et tous les clients ne le font pas.
	     Certains navigateur permettent même de modifier la valeur de
	      
HTTP_REFERER
 , sous forme de fonctionnalité.
	     En bref, ce n'est pas une valeur de confiance.
        
 
 
- '
HTTP_USER_AGENT
'
 
- 
 	     Contenu de l'en-tête  
User_Agent:
  de
	     la requête courante, si elle existe. C'est une chaîne
	     qui décrit le client HTML utilisé pour voir
	     la page courante. Par exemple :
	      
Mozilla/4.5 [en] (X11; U; Linux	 2.2.9 i586)
 .
	     Entre autres choses, vous pouvez utiliser cette valeur avec
	      
get_browser
  pour optimiser votre page
	     en fonction des capacités du client.
        
 
 
- '
REMOTE_ADDR
'
 
- 
         L'adresse IP du client qui demande la page courante.
        
 
 
- '
REMOTE_HOST
'
 
- 
         Le nom de l'hôte qui lit le script courant. La résolution
         DNS inverse est basée sur la valeur de  
REMOTE_ADDR
 .
        
| Note |  | 
 
          Votre serveur web doit être configuré pour créer cette variable.
          Par exemple, pour Apache, vous devez ajouter la directive 
           
HostnameLookups On
  dans le fichier 
           
httpd.conf
 , pour que cette variable existe.
          Voyez aussi  
gethostbyaddr
 .
          
 |  
  
 
- '
REMOTE_PORT
'
 
- 
         Le port utilisé par la machine cliente pour communiquer
	     avec le serveur web.
        
 
 
- '
SCRIPT_FILENAME
'
 
- 
         Le chemin absolu jusqu'au script courant.
        
 
 
- '
SERVER_ADMIN
'
 
- 
         La valeur donnée à la directive SERVER_ADMIN
	     (pour Apache), dans le fichier de configuration. Si le script
	     est exécuté par un hôte virtuel, ce sera la
	     valeur définie par l'hôte virtuel.
        
 
 
- '
SERVER_PORT
'
 
- 
          Le port de la machine serveur utilisé pour les
	     communications. Par défaut, c'est '80'. En utilisant
	     SSL, par exemple, il sera remplacé par le numéro
	     de port HTTP sécurisé.
        
 
 
- '
SERVER_SIGNATURE
'
 
- 
          Chaîne contenant le numéro de version du serveur
	     et le nom d'hôte virtuel, qui sont ajoutés aux
	     pages générées par le serveur, si cette
	     option est activée.
        
 
 
- '
PATH_TRANSLATED
'
 
- 
         Chemin dans le système de fichier (pas le document root-)
	     jusqu'au script courant, une fois que le serveur a fait
	     une chemin traduction virtuel->réel.
        
 
 
- '
SCRIPT_NAME
'
 
- 
         Contient le nom du script courant. Cela sert lorsque
	     les pages doivent s'appeler elles-mêmes.
        
 
 
- '
REQUEST_URI
'
 
- 
         L'URI qui a été fourni pour accéder
	     à cette page. Par exemple : ' 
/index.html
 '.
        
 
 
 
 |