Manuel PHP
Précédent | Annexe G. Mot réservés en PHP | Suivant

# Variables prédéfinies

## 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 cour d'éxé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 éxé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_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`'.

## Variables d'environnement : `$_ENV`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_ENV_VARS`.

Cette variable est importée dans l'espace de nom global de PHP, depuis l'environnement dans lequel l'exécutable PHP fonctionne. De nombreuses valeur sont fournies par le shell qui exécute PHP, et différents systèmes pouvant disposer de différents shell, même un début de liste serait ici impossible. Reportez vous à la documentation de votre shell pour connaître une liste de variables prédéfinies.

Les autres variables d'environnement incluent les variables CGI, placées ici, indépendemment du fait que PHP fonctionne en tant que CGI ou bien que module du serveur.

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 $_ENV; pour y accéder, comme vous le faisiez avec `$HTTP_ENV_VARS`.

`$HTTP_ENV_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 `$_ENV` et `$HTTP_ENV_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.

## HTTP Cookies: `$_COOKIE`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_COOKIE_VARS`.

Un tableau associatif des valeurs passées au script courant via les cookies HTTP. Elle est automatiquement global dans tous les contextes d'exécution.

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 $_COOKIE; pour y accéder, comme vous le faisiez avec `$HTTP_COOKIE_VARS`.

`$HTTP_COOKIE_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 `$_COOKIE` et `$HTTP_COOKIE_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.

## HTTP GET variables: `$_GET`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_GET_VARS`.

Un tableau associatif des valeurs passées au script courant via le protocole HTTP et la méthode GET. Elle est automatiquement globale dans tous les contextes d'exécution.

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 $_GET; pour y accéder, comme vous le faisiez avec `$HTTP_GET_VARS`.

`$HTTP_GET_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 `$_GET` et `$HTTP_GET_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.

## HTTP POST variables: `$_POST`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_POST_VARS`.

Un tableau associatif des valeurs passées au script courant via le protocole HTTP et la méthode POST. Elle est automatiquement globale dans tous les contextes d'exécution.

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 $_POST; pour y accéder, comme vous le faisiez avec `$HTTP_POST_VARS`.

`$HTTP_POST_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 `$_POST` et `$HTTP_POST_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.

## Variable de téléchargement de fichier via HTTP : `$_FILES`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_POST_FILES`.

Un tableau associatif des valeurs téléchargées au script courant via le protocole HTTP et la méthode POST. Elle est automatiquement globale dans tous les contextes d'exécution.

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 $_FILES; pour y accéder, comme vous le faisiez avec `$HTTP_POST_FILES`.

`$HTTP_POST_FILES` 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 `$_FILES` et `$HTTP_POST_FILES`. 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.

## Variables de requête : `$_REQUEST`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle n'avait pas d'équivalent.

Un tableau associatif constitué du contenu des variables `$_GET`, `$_POST`, `$_COOKIE`, et `$_FILES`.

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 $_REQUEST; pour y accéder.

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 `$_REQUEST`. 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.

## Session variables: `$_SESSION`

> Note : Introduite en 4.1.0. Dans les versions plus anciennes, elle s'appelait `$HTTP_SESSION_VARS`.

Un tableau associatif des valeurs stockées dans les sessions, et accessible au script courant. Elle est automatiquement globale dans tous les contextes d'exécution. Voyez l'extension Sessions pour plus de détails sur comment est utilisée cette variable.

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 $_SESSION; pour y accéder, comme vous le faisiez avec `$HTTP_SESSION_VARS`.

`$HTTP_SESSION_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 `$_SESSION` et `$HTTP_SESSION_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.

## Variables globales: `$GLOBALS`

> Note : `$GLOBALS` est disponible depuis PHP 3.0.0.

Un tableau associatif contenant les références sur toutes les variables globales actuellement définies dans le contexte d'exécution global du script. Les noms des variables sont les index du tableau.

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 $GLOBALS; pour y accéder.

## Le dernier message d'erreur : `$php_errormsg`

`$php_errormsg` est une variable qui contient le texte de la dernière erreur générée par PHP. Cette variable sera uniquement accessible dans le même contexte d'exécution que celui de la ligne qui a généré l'erreur, et uniquement si la directive de configuration track_errors est activée (elle est désactivée par défaut).

Précédent | Sommaire | Suivant
Mot réservés en PHP | Niveau supérieur | Classes prédéfinies