Les variables d'environnement
Voici un exemple d'utilisation de variables d'environnement.
Pour connaître celles qui sont actives sur votre serveur, écrivez le petit script suivant
<? phpinfo(); ?>
Nommez le avec une extension php, placez le fichier sur le serveur et exécutez le.
Attention : Avec l'évolution de PHP, certaines valeurs peuvent devenir obsolètes. Donc, à vérifier si vous changez de version.
Il est préférable d'utiliser les « superglobales »
$GLOBALS (pour accéder à n'importe quelle variable)$_SERVER
$_REQUEST
$_POST
$_GET
$_FILES
$_ENV
$_COOKIE
$_SESSION
$_SERVER est trés fréquemment utilisée. Par exemple :
$_SERVER | |
---|---|
$_SERVER['PHP_SELF'] | nom du script php en cours |
$_SERVER['GATEWAY_INTERFACE'] | version Common Gateway Interface (CGI) utilisée |
$_SERVER['SERVER_ADDR'] | IP du serveur |
$_SERVER['SERVER_NAME'] | nom du serveur |
$_SERVER['SERVER_SOFTWARE'] | identification du serveur ( ex: Apache/2.2.22 (Debian) ) |
$_SERVER['SERVER_PROTOCOL'] | nom et version du protocole (ex: HTTP/1.1) |
$_SERVER['REQUEST_METHOD'] | méthode d'accés à la page (ex: POST, GET) |
$_SERVER['REQUEST_TIME'] | heure de début de requète |
$_SERVER['QUERY_STRING'] | expression d'une demande |
$_SERVER['HTTP_ACCEPT'] | Type d'entète acceptée |
$_SERVER['HTTP_ACCEPT_CHARSET'] | Tye de caractères acceptés |
$_SERVER['HTTP_HOST'] | Entète de l'hôte |
$_SERVER['HTTP_REFERER'] | URL de la page |
$_SERVER['HTTPS'] | Ptrocole sécurisé ? |
$_SERVER['REMOTE_ADDR'] | Adresse IP de l'utilisateur |
$_SERVER['REMOTE_HOST'] | Adresse IP de l'hôte |
$_SERVER['REMOTE_PORT'] | Port utilisé par l'utilisateur |
$_SERVER['SCRIPT_FILENAME'] | Adresse complète du script en cours |
$_SERVER['SERVER_ADMIN'] | Valeur attribuée à l'administrateur du serveur dans le fichier de configuration |
$_SERVER['SERVER_PORT'] | Port du serveur(ex: 80) |
$_SERVER['SERVER_SIGNATURE'] | Version du serveur |
$_SERVER['PATH_TRANSLATED'] | Système de fichiers utilisé |
$_SERVER['SCRIPT_NAME'] | Chemin du script en cours |
$_SERVER['SCRIPT_URI'] | URI de la page |
• lecture de donnée d'un formulaire
foreach ( $_GET as $key => $value )
{ echo $key."==".$value."<br>"; }
• recherche du type de navigateur client
mb_ereg("^([[:alpha:]]+)/([[:digit:]\.]+)( .*)$", $_SERVER['HTTP_USER_AGENT'], $match);
$Browser_Name = $match[1];
$Browser_Version = $match[2];
$Browser_Description = $match[3];
// test si MSIE
if ( mb_eregi("msie", $Browser_Description) )
{ // cherche quelquechose comme : (compatible; MSIE 5.0; Windows 98; DigExt)
eregi("MSIE ([[:digit:]\.]+);", $Browser_Description, $match);
$Browser_Name = "MSIE";
$Browser_Version = $match[1];
}
• chemin d'un fichier spécifié
$arrPath = explode(":", $_SERVER['PATH_INFO']);
foreach ($arrPath as $path)
{
$location = $path . "/" . $cmd;
echo $location."<br>";
}
• recherche d'un code de langage chez le client
if (mb_ereg("\.[^\.]+$", $_SERVER['REMOTE_HOST'], &$arr))
echo strtolower($arr[1]);