Variables prédéfinies

PHP fourni un grand nombre de variables prédéfinies . Cependant , beaucoup de ces variables ne peuvent pas être présentées ici , car elles dépendent du serveur sur lequel elles tournent , de la version du serveur , et de la configuration du serveur , ou encore d ' autres facteurs . Certaines de ces variables ne seront pas accessibles lorsque PHP fonctionne en exécutable .

Avertissement

En PHP 4.2.0 et plus récent , le jeu de variables prédéfinies qui sont disponibles dans l ' environnement global a changé . Les variables d' entrées et de serveurs ne sont plus par défaut placées dans le contexte d 'exécution global . Elles sont placées dans les tableaux superglobaux .

Vous pouvez toujours forcer l ' ancien comportement de PHP en le configurant avec register_globals à On votre fichier php.ini .

Pour plus d' informations et d'explications sur ce changement , voyez l'annonce de PHP 4.1.0 (en anglais ) .

Depuis la version 4.1.0 , PHP fourni un jeu de tableaux prédéfinis , contenant les variables du serveur ( si possible) , les variables d'environnement et celle d 'entrées . Ces nouveaux tableaux sont un peut particuliers , car ils ont automatiquement globaux : ils sont automatiquement disponibles dans tous les environnements d ' exécution , sans avoir à utiliser le mot réservé global . Pour cette raison , ils sont dits ' auto-globaux ' ou bien encore 'superglobaux ' (il n 'y a pas de mécanisme PHP pour créer de telles variables . Les superglobales sont listées ci-dessous . Cependant , pour connaître le détails de leur contenu , et une présentation approfondie sur les variables prédéfinies PHP , et leur nature , reportez vous à la section variables prédefinies .

Tableaux superglobaux de PHP

$GLOBALS

Contient une référence sur chaque variable qui est actuellement disponible dans l' environnement d 'exécution global . Les clés de ce tableau sont les noms des variables globales .

$_SERVER

Les variables fournies par le serveur web , ou bien directement liées à l' environnement d 'exécution du script courant . C' est la nouvelle version de l 'ancienne variable $HTTP_SERVER_VARS , qui est maintenant obsolète , mais toujours .

$_GET

Les variables fournies par le protocole HTTP en méthode GET . C' est la nouvelle version de l 'ancienne variable $HTTP_GET_VARS qui est maintenant obsolète , mais toujours .

$_POST

Les variables fournies par le protocole HTTP en méthode POST . C' est la nouvelle version de l 'ancienne variable $HTTP_POST_VARS qui est maintenant obsolète , mais toujours .

$_COOKIE

Les variables fournies par le protocole HTTP , dans les cookies . C' est la nouvelle version de l 'ancienne variable $HTTP_COOKIE_VARS qui est maintenant obsolète , mais toujours .

$_FILES

Les variables fournies par le protocole HTTP , suite à un téléchargement de fichier . C' est la nouvelle version de l 'ancienne variable $HTTP_POST_FILES qui est maintenant obsolète , mais toujours . Voir Téléchargement par méthode POST , pour plus d ' informations .

$_ENV

Les variables fournies par l ' environnement . C' est la nouvelle version de l 'ancienne variable $HTTP_ENV_VARS qui est maintenant obsolète , mais toujours .

$_REQUEST

Les variables fournies au script par n' importe quel mécanisme d 'entrée et qui ne doit recevoir une confiance limitée . Note : lorsque vous exécutez un script en ligne de commande , cette variable ne va pas inclure les variables argv et argc . Elles seront présentes dans la variable $_SERVER . La présence et la valeur des entrées de ce tableau sont réglés par la directive variables_order . Ce tableau n' est l'évolution d'aucune variable d 'avant PHP 4.1.0 .

$_SESSION

Les variables qui sont actuellement enregistrées dans la session attachée au script . which are currently registered to a script' s session.C'est la nouvelle version de l 'ancienne variable $HTTP_SESSION_VARS . Voir le chapitre Sessions handling functions pour plus d ' informations .