Les tableaux prédéfinis de PHP : Superglobales¶
Les Superglobales de PHP¶
Ce sont des tableaux concernant pour l’essentiel le protocole HTTP ou la gestion de Cookies ou des Sessions.
$_GET[ ], $_POST[ ] ou $_REQUEST[ ] qui englobe les 2
$_SERVER[ ] : Variables décrivant le client ou la page courante
$_GLOBALS[ ] variables globales
$_COOKIE[ ] pour les cookies
$_SESSION[ ] pour les sessions
Exemple récupération de $_SERVER[ ] grâce à la fonction getenv():¶
<?php function infos(){ $env = array('remote_addr','http_accept_language','http_host', 'http_user_agent','script_filename','server_addr', 'server_name','server_signature','server_software', 'request_method','query_string','request_uri','script_name'); // Construction d'un tableau associatif // Avec les valeurs lues dans l'environnement $retour =array(); foreach ($env as $clef) $retour[$clef] = getenv($clef); return $retour; } echo("Voici les infos disponibles:<BR>"); $tab = infos(); foreach ($tab as $clef=>$val) echo $clef." :".$val."<br>\n";
Résultat¶
Voici les infos disponibles: remote_addr :::1 http_accept_language :fr-fr http_host :localhost http_user_agent :Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; fr-fr) AppleWebKit/533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 script_filename :/Users/roza/Sites/php/exemples/infospy.php server_addr :::1 server_name :localhost server_signature : server_software :Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.8l DAV/2 PHP/5.3.2 request_method :GET query_string : request_uri :/~roza/php/exemples/infospy.php script_name :/~roza/php/exemples/infospy.php `User-Agent <http://localhost/~roza/php/exemples/infospy.php>`_