Source of: /manual/fr/reserved.variables.server.php
<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reserved.variables.inc";
$setup = array (
'home' =>
array (
0 => 'index.php',
1 => 'PHP Manual',
),
'head' =>
array (
0 => 'UTF-8',
1 => 'fr',
),
'this' =>
array (
0 => 'reserved.variables.server.php',
1 => '$_SERVER',
),
'up' =>
array (
0 => 'reserved.variables.php',
1 => 'Variables prédéfinies',
),
'prev' =>
array (
0 => 'reserved.variables.globals.php',
1 => '$GLOBALS',
),
'next' =>
array (
0 => 'reserved.variables.get.php',
1 => '$_GET',
),
);
$setup["toc"] = $TOC;
$setup["parents"] = $PARENTS;
manual_setup($setup);
manual_header();
?>
<div id="reserved.variables.server" class="refentry">
<div class="refnamediv">
<h1 class="refname">$_SERVER</h1>
<h1 class="refname">$HTTP_SERVER_VARS [Obsolète]</h1>
<p class="refpurpose"><span class="refname">$_SERVER</span> -- <span class="refname">$HTTP_SERVER_VARS [Obsolète]</span> — <span class="dc-title">Variables de serveur et d'exécution</span></p>
</div>
<a name="reserved.variables.server.description"></a><div class="refsect1 description">
<h3 class="title">Description</h3>
<p class="para">
<var class="varname">$_SERVER</var> est un tableau contenant des informations
comme les en-têtes, dossiers et chemins du script. Les entrées de ce
tableau sont créées par le serveur web. Il n'y a aucune garantie que tous
les serveurs les rempliront tous ; certains en oublieront quelques-unes
et en rajouteront de nouvelles non mentionnées ici. Cependant, un grand
nombre de ces variables fait partie des
<a href="http://hoohoo.ncsa.uiuc.edu/cgi/env.html" class="link external">» spécifications CGI 1.1</a>, et vous pouvez donc
vous attendre à les retrouver.
</p>
<p class="simpara">
<var class="varname">$HTTP_SERVER_VARS</var> contient les mêmes
informations, mais n'est pas <a href="language.variables.superglobals.php" class="link">superglobale</a>. (Notez que
<var class="varname">$HTTP_SERVER_VARS</var> et <var class="varname">$_SERVER</var>
sont des variables différentes et que PHP les traite en tant que telles.)
</p>
</div>
<a name="reserved.variables.server.indices"></a><div class="refsect1 indices">
<h3 class="title">Indices</h3>
<p class="simpara">
Vous pouvez éventuellement trouver les éléments suivants
dans la variable <var class="varname">$_SERVER</var>. Notez que certains,
n'auront pas de sens si vous utilisez PHP en <a href="features.commandline.php" class="link">ligne
de commande</a>.
</p>
<p class="para">
</p><dl>
<dt class="varlistentry">
<span class="term">'<var class="varname">PHP_SELF</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le nom du fichier du script en cours d'exécution, par
rapport à la racine web.
Par exemple, <var class="varname">$_SERVER['PHP_SELF']</var> dans le script
situé à l'adresse <var class="filename">http://www.monsite.com/test.php/foo.bar</var>
sera <var class="filename">/test.php/foo.bar</var>.
La constante <a href="language.constants.predefined.php" class="link">__FILE__</a>
contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant.
</span>
<span class="simpara">
Si PHP fonctionne en ligne de commande,
cette variable contient le nom du script depuis PHP 4.3.0. Dans les
versions antérieures, cette variable n'était pas disponible.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<a href="reserved.variables.argv.php" class="link">argv</a>'</span>
</dt><dd class="listitem">
<span class="simpara">
Tableau des arguments passés 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.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<a href="reserved.variables.argc.php" class="link">argc</a>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contient le nombre de paramètres de la ligne de commande
passés au script (si le script fonctionne en ligne de commande).
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">GATEWAY_INTERFACE</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Numéro de révision de l'interface CGI du serveur :
i.e. '<i>CGI/1.1</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_ADDR</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
L'adresse IP du serveur sous lequel le script courant est en train
d'être exécuté.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_NAME</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le nom du serveur hôte qui exé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.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_SOFTWARE</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Chaîne d'identification du serveur, qui est donnée dans
les en-têtes lors de la réponse aux requêtes.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_PROTOCOL</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Nom et révision du protocole de communication : i.e. '<i>HTTP/1.0</i>';
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REQUEST_METHOD</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Méthode de requête utilisée pour accéder
à la page; i.e. '<i>GET</i>',
'<i>HEAD</i>', '<i>POST</i>', '<i>PUT</i>'.
</span>
<blockquote><p><b class="note">Note</b>:
Le script PHP se termine après avoir envoyé les en-têtes (après
avoir produit n'importe quelle sortie sans avoir affiché le buffer) si
la méthode de la requête était <i>HEAD</i>.
<br />
</p></blockquote>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REQUEST_TIME</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le temps Unix depuis le début de la requête. Disponible depuis PHP 5.1.0.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">QUERY_STRING</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
La chaîne de requête, si elle existe, qui est
utilisée pour accéder à la page.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">DOCUMENT_ROOT</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
La racine sous laquelle le script courant est exécuté,
comme défini dans la configuration du serveur.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_ACCEPT</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Accept:</i> de la
requête courante, s'il y en a une.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_ACCEPT_CHARSET</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Accept-Charset:</i>
de la requête courante, si elle existe. Par exemple :
'<i>iso-8859-1,*,utf-8</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_ACCEPT_ENCODING</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Accept-Encoding:</i>
de la requête courante, si elle existe. Par exemple : '<i>gzip</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_ACCEPT_LANGUAGE</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Accept-Language:</i> de
la requête courante, si elle existe. Par exemple : '<i>fr</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_CONNECTION</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Connection:</i> de la
requête courante, si elle existe. Par exemple : '<i>Keep-Alive</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_HOST</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>Host:</i> de la
requête courante, si elle existe.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_REFERER</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
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 navigateurs permettent même de modifier la valeur de
<var class="varname">HTTP_REFERER</var>, sous forme de fonctionnalité.
En bref, ce n'est pas une valeur de confiance.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTP_USER_AGENT</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contenu de l'en-tête <i>User_Agent:</i> 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 :
<span class="computeroutput">Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)</span>.
Entre autres choses, vous pouvez utiliser cette valeur avec
<a href="function.get-browser.php" class="function">get_browser()</a> pour optimiser votre page
en fonction des capacités du client.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">HTTPS</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Définissez à une valeur non-vide si le script nécessite d'utiliser le protocole HTTPS.
</span>
<blockquote><p><b class="note">Note</b>:
<span class="simpara">
Noter que lors de l'utilisation de ISAPI avec IIS, la valeur sera
<i>off</i> si la demande n'a pas été faite via le protocole HTTPS.
</span>
</p></blockquote>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REMOTE_ADDR</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
L'adresse IP du client qui demande la page courante.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REMOTE_HOST</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le nom de l'hôte qui lit le script courant. La résolution
DNS inverse est basée sur la valeur de <var class="varname">REMOTE_ADDR</var>.
</span>
<blockquote><p><b class="note">Note</b>:
<span class="simpara">
Votre serveur web doit être configuré pour créer cette variable.
Par exemple, pour Apache, vous devez ajouter la directive
<i>HostnameLookups On</i> dans le fichier
<var class="filename">httpd.conf</var>, pour que cette variable existe.
Voyez aussi <a href="function.gethostbyaddr.php" class="function">gethostbyaddr()</a>.
</span>
</p></blockquote>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REMOTE_PORT</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le port utilisé par la machine cliente pour communiquer
avec le serveur web.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SCRIPT_FILENAME</var>'</span>
</dt><dd class="listitem">
<p class="para">
Le chemin absolu vers le fichier contenant le script en cours d'exécution.
</p><blockquote><p><b class="note">Note</b>:
Si un script est exécuté avec le CLI, avec un chemin relatif,
comme <var class="filename">file.php</var> ou
<var class="filename">../file.php</var>,
<var class="varname">$_SERVER['SCRIPT_FILENAME']</var>
contiendra le chemin relatif spécifié par l'utilisateur.
<br />
</p></blockquote><p>
</p>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_ADMIN</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
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.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_PORT</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Le port de la machine serveur utilisé pour les
communications. Par défaut, c'est <i>"80"</i>. En utilisant
SSL, par exemple, il sera remplacé par le numéro
de port HTTP sécurisé.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SERVER_SIGNATURE</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
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.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">PATH_TRANSLATED</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Chemin dans le système de fichiers (pas le document-root)
jusqu'au script courant, une fois que le serveur a fait
une traduction chemin virtuel -> réel.
</span>
<blockquote><p><b class="note">Note</b>:
<span class="simpara">
Depuis PHP 4.3.2, la variable <span class="envar">PATH_TRANSLATED</span> n'est plus seulement
définie implicitement sous Apache 2 <acronym title="Server Application Programming Interface">SAPI</acronym>
contrairement à la situation sous Apache 1 où elle est définie avec la même
valeur que la variable serveur <span class="envar">SCRIPT_FILENAME</span> lorsqu'elle
n'est pas fournie par Apache. Ce changement a été effectué pour être conforme
aux spécifications <acronym title="Common Gateway Interface">CGI</acronym> qui fait que
la variable <span class="envar">PATH_TRANSLATED</span> doit exister seulement
si la variable <span class="envar">PATH_INFO</span> est définie.
</span>
<span class="simpara">
Les utilisateurs d'Apache 2 devraient utiliser <i>AcceptPathInfo = On</i>
dans leur <var class="filename">httpd.conf</var> pour définir <span class="envar">PATH_INFO</span>.
</span>
</p></blockquote>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">SCRIPT_NAME</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Contient le nom du script courant. Cela sert lorsque
les pages doivent s'appeler elles-mêmes.
La constante <a href="language.constants.predefined.php" class="link">__FILE__</a>
contient le chemin complet ainsi que le nom du fichier (i.e. inclut) courant.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">REQUEST_URI</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
L'URI qui a été fourni pour accéder
à cette page. Par exemple : '<i>/index.html</i>'.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">PHP_AUTH_DIGEST</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Lorsque vous utilisez PHP avec Apache en tant que module
faisant une identification HTTP <i>Digest</i>,
cette variable est définie dans l'en-tête <i>"Authorization"</i>
envoyé par le client (que vous devez donc utiliser pour
réaliser la validation appropriée).
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">PHP_AUTH_USER</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Lorsque vous utilisez PHP avec Apache ou IIS (ISAPI en PHP 5) en tant que
module faisant une identification HTTP,
cette variable est définie à l'utilisateur fourni par l'utilisateur.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">PHP_AUTH_PW</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Lorsque vous utilisez PHP avec Apache ou IIS (ISAPI en PHP 5) en tant que
module faisant une identification HTTP,
cette variable est définie au mot de passe fourni par l'utilisateur.
</span>
</dd>
<dt class="varlistentry">
<span class="term">'<var class="varname">AUTH_TYPE</var>'</span>
</dt><dd class="listitem">
<span class="simpara">
Lorsque vous utilisez PHP avec Apache en tant que module faisant une identification HTTP,
cette variable est définie au type d'identification.
</span>
</dd>
</dl>
<p>
</p>
</div>
<a name="reserved.variables.server.changelog"></a><div class="refsect1 changelog">
<h3 class="title">Historique</h3>
<p class="para">
</p><table class="doctable informaltable">
<thead valign="middle">
<tr valign="middle">
<th>Version</th>
<th>Description</th>
</tr>
</thead>
<tbody valign="middle" class="tbody">
<tr valign="middle">
<td align="left">4.1.0</td>
<td align="left">
Introduction de <var class="varname">$_SERVER</var>, rendant obsolète
<var class="varname">$HTTP_SERVER_VARS</var>.
</td>
</tr>
</tbody>
</table>
<p>
</p>
</div>
<a name="reserved.variables.server.examples"></a><div class="refsect1 examples">
<h3 class="title">Exemples</h3>
<p class="para">
</p><div class="example">
<p><b>Exemple #1 Exemple avec <var class="varname">$_SERVER</var></b></p>
<div class="example-contents programlisting">
<div class="phpcode"><code><span style="color: #000000">
<span style="color: #0000BB"><?php<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'SERVER_NAME'</span><span style="color: #007700">];<br /></span><span style="color: #0000BB">?></span>
</span>
</code></div>
</div>
<div class="example-contents para"><p>L'exemple ci-dessus va afficher quelque chose de similaire à :</p></div>
<div class="example-contents screen">
<div class="cdata"><pre>
www.example.com
</pre></div>
</div>
</div><p>
</p>
</div>
<a name="reserved.variables.server.notes"></a><div class="refsect1 notes">
<h3 class="title">Notes</h3>
<blockquote><p><b class="note">Note</b>: Ceci est une 'superglobale', ou
variable globale automatique. Cela signifie simplement que cette variable
est disponible dans tous les contextes du script. Il n'est pas nécessaire
de faire <strong class="command">global $variable;</strong> pour y accéder dans les fonctions
ou les méthodes.<br /></p></blockquote>
</div>
<a name="reserved.variables.server.seealso"></a><div class="refsect1 seealso">
<h3 class="title">Voir aussi</h3>
<p class="para">
</p><ul class="simplelist">
<li class="member"><a href="book.filter.php" class="link">L'extension sur les filtres</a></li>
</ul><p>
</p>
</div>
</div><?php manual_footer(); ?>