Superglobal $_SERVER de PHP
$_SERVER de PHP
La superglobal $_SERVER contient des informations sur le serveur web, y compris les en-têtes, les chemins et les emplacements des scripts.
Les superglobals de PHP sont des variables intégrées qui sont toujours accessibles dans tous les contextes !
Remarque : Les entrées dans $_SERVER sont créées par le serveur web, donc il n'y a aucune garantie que chaque entrée soit disponible sur différents serveurs ou environnements.
L'exemple ci-dessous montre comment utiliser certains des éléments de $_SERVER :
Exemple
echo $_SERVER['PHP_SELF']; echo $_SERVER['SERVER_NAME']; echo $_SERVER['HTTP_HOST']; echo $_SERVER['HTTP_REFERER']; echo $_SERVER['HTTP_USER_AGENT']; echo $_SERVER['SCRIPT_NAME']; Le tableau suivant répertorie les éléments les plus importants qui peuvent se trouver dans $_SERVER :
| Élément/Code | Description |
|---|---|
| $_SERVER['PHP_SELF'] | Renvoie le nom de fichier du script actuellement exécuté |
| $_SERVER['GATEWAY_INTERFACE'] | Renvoie la version de l'interface de passerelle commune (CGI) utilisée par le serveur |
| $_SERVER['SERVER_ADDR'] | Renvoie l'adresse IP du serveur hôte |
| $_SERVER['SERVER_NAME'] | Renvoie le nom du serveur hôte (tel que www.formation-ti.org) |
| $_SERVER['SERVER_SOFTWARE'] | Renvoie la chaîne d'identification du serveur (tel qu'Apache/2.2.24) |
| $_SERVER['SERVER_PROTOCOL'] | Renvoie le nom et la révision du protocole d'information (tel que HTTP/1.1) |
| $_SERVER['REQUEST_METHOD'] | Renvoie la méthode de requête utilisée pour accéder à la page (tel que POST) |
| $_SERVER['REQUEST_TIME'] | Renvoie l'horodatage du début de la requête (tel que 1377687496) |
| $_SERVER['QUERY_STRING'] | Renvoie la chaîne de requête si la page est accessible via une chaîne de requête |
| $_SERVER['HTTP_ACCEPT'] | Renvoie l'en-tête Accept de la requête actuelle |
| $_SERVER['HTTP_ACCEPT_CHARSET'] | Renvoie l'en-tête Accept_Charset de la requête actuelle (tel que utf-8,ISO-8859-1) |
| $_SERVER['HTTP_HOST'] | Renvoie l'en-tête Host de la requête actuelle |
| $_SERVER['HTTP_REFERER'] | Renvoie l'URL complète de la page actuelle (pas fiable car tous les agents utilisateurs ne le prennent pas en charge) |
| $_SERVER['HTTPS'] | Indique si le script est interrogé via un protocole HTTP sécurisé |
| $_SERVER['REMOTE_ADDR'] | Renvoie l'adresse IP d'où l'utilisateur consulte la page actuelle |
| $_SERVER['REMOTE_HOST'] | Renvoie le nom d'hôte d'où l'utilisateur consulte la page actuelle |
| $_SERVER['REMOTE_PORT'] | Renvoie le port utilisé sur la machine de l'utilisateur pour communiquer avec le serveur web |
| $_SERVER['SCRIPT_FILENAME'] | Renvoie le chemin d'accès absolu du script actuellement exécuté |
| $_SERVER['SERVER_ADMIN'] | Renvoie la valeur donnée à la directive SERVER_ADMIN dans le fichier de configuration du serveur web (si votre script s'exécute sur un hôte virtuel, ce sera la valeur définie pour cet hôte virtuel) (tel que someone@formation-ti.org) |
| $_SERVER['SERVER_PORT'] | Renvoie le port sur la machine du serveur utilisé par le serveur web pour la communication (tel que 80) |
| $_SERVER['SERVER_SIGNATURE'] | Renvoie la version du serveur et le nom de l'hôte virtuel qui sont ajoutés aux pages générées par le serveur |
| $_SERVER['PATH_TRANSLATED'] | Renvoie le chemin basé sur le système de fichiers vers le script actuel |
| $_SERVER['SCRIPT_NAME'] | Renvoie le chemin du script actuel |
| $_SERVER['SCRIPT_URI'] | Renvoie l'URI de la page actuelle |