Cours par Webcam

Cours par Webcam

Formateur Web pour adultes depuis plus 11 ans, je vous propose des COURS collectifs par WEBCAM en LIVE pour booster vos connaissances et être autonome dans la création de site.

En savoir plus

PHP - Bases

PHP - Algorithmie

PHP - Chaîne

PHP - Tableau

PHP - Formulaires

PHP - Fonctions Usuelles

Données entres pages

Environnement et Interaction

PHP objet (POO)

Facebook
Twitter
LinkedIn

Informations sur le serveur

Dans le cas d’une connexion avec le serveur, vous pouvez récupérer plusieurs informations concernant le serveur lui-même.

La superglobale $_SERVER[ ] est un tableau qui contient tout ce qui concerne la réception de la requête (comme les en-têtes, dossiers et chemins du script).

Ce tableau est créé par le serveur lui-même, toutes les informations n’y sont donc pas forcément retrouvées. Nous vous présentons les principales qui sont dans les spécifications CGI v1.1 (Common Gateway Interface Version 1.1).

Nom du serveur

Le nom du serveur hôte qui exécute le script est disponible dans la variable $_SERVER[‘SERVER_NAME‘].

<?php
echo $_SERVER['SERVER_NAME'];
?>

Affichage

tutowebdesign.com

Racine du serveur

Le document racine de votre site est disponible dans la variable $_SERVER[‘DOCUMENT_ROOT‘].

La racine est le chemin d’accès local à votre site Web, sur votre serveur.

<?php
echo $_SERVER['DOCUMENT_ROOT'];
?>

Affichage

/kunden/homepages/12/d364229332/htdocs/tutovisuel

Il ne faut pas confondre ‘DOCUMENT_ROOT’ et ‘HTTP_HOST’ qui représente L’URL de base de l’hôte.

La variable $_SERVER[‘DOCUMENT_ROOT’] vous donnera le chemin absolu pour arriver à la racine du site Web dans le système de fichiers du serveur, par exemple /var/www/domaine/ alors que la variable $_SERVER[‘HTTP_HOST’] vous donnera URL de l’hôte, par exemple domain.com.

<?php
echo $_SERVER['HTTP_HOST'];
?>

Affichage

tutowebdesign.com

Adresse IP du client

Vous pouvez récupérer l’adresse IP du client qui demande votre page. Elle est contenu dans $_SERVER[‘REMOTE_ADDR‘].

<?php
echo $_SERVER['REMOTE_ADDR'];
?>

Affichage

46.218.165.74

L’identification par adresse IP peut poser problème. L’adresse IP peut, en effet, être provisoire. Dans certains cas, une adresse IP publique peut être utilisée par plusieurs personnes simultanément et indépendamment.

L’adresse IP peut cependant servir à bloquer provisoirement un internaute malveillant ou éviter la réutilisation d’un service d’accès public comme un vote ou le dépôt d’un avis.. le traçage de l’adresse IP est aussi souvent utilisé à des fins de marketing.

Fichier en cours d’exécution

L’entrée $_SERVER[‘PHP_SELF‘] vous retourne le nom du fichier du script en cours d’exécution, par rapport à la racine web.

<?php
echo $_SERVER['PHP_SELF'];
?>

Affichage

/superglobale-serveur-php.php

Si l’URL de la page est http://monsite.fr/lyon/arr3/photo.php, le chemin retourné serait :

/lyon/arr3/photo.php

Port du client

Le port qu’utilise la machine cliente est contenu dans $_SERVER[‘REMOTE_PORT‘].

Affichage

10714

Adresse IP du serveur

L’ adresse IP du serveur est contenu dans $_SERVER[‘SERVER_ADDR‘].

Il ne faut pas le confondre avec $_SERVER[‘REMOTE_ADDR’] qui renvoie l’adresse IP à partir de laquelle l’utilisateur consulte la page en cours. Alors que $_SERVER[‘SERVER_ADDR’] renvoie l’adresse IP du serveur sous lequel le script courant est exécuté.

Affichage

212.227.24.38

Port du serveur

Le port qu’utilise le serveur est contenu dans $_SERVER[‘SERVER_PORT‘]. Il vaut 80, par défaut, sauf si vous utilisez le protocole sécurisé SSL (HTTPS).

Affichage

80

Informations de langue

Pour savoir qu’elles sont les langues que le navigateur accepte, vous pouvez lire le contenu de l’en-tête Accept-Language de la requête courante est dans $_SERVER[‘HTTP_ACCEPT_LANGUAGE’‘].

Ces informations peuvent-être importantes si vous travaillez sur un site multinationale et que vous avez besoin de le traduire en différentes langues.

Affichage

fr-FR,fr;q=0.9,en-US;q=0.8,en;q=0.7

Cette variable affiche dans l’ordre de priorité toutes les langues que vous pouvez définir dans votre navigateur (fr-FR, EN, en-US..) sous forme d’une chaîne et séparées par des virgules.

La valeur q, pour chaque langue, représente le niveau de priorité. Cette valeur est comprise entre 0 et 1. Si, pour une langue, elle n’existe pas, sa valeur est de 1. Le client va ainsi préférer la langue dont la valeur de q est la plus importante, la langue qui apparaît au début de la chaîne.

Pour connaitre les deux premières lettres de la chaine

<?php
if($_SERVER['HTTP_ACCEPT_LANGUAGE']){
    echo substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2);
}
?>

Affichage

fr

Le code à utiliser pour une langue donnée est standardisé. On utilise des codes ISO 639-1 sur deux lettres.

Chaîne de GET

Pour récupérer l’ ensemble de la chaîne de variables contenues dans une URL après le point d’interrogation ?, comme par exemple, ‘http//monsite.fr?page=1&ville=marseille‘, vous pouvez employer $_SERVER[‘QUERY_STRING‘].

Il existe aussi la méthode $_GET[] mais elle retourne un tableau associatif dont les variables de la chaîne deviennent les clés du ce tableau ($_GET[‘ville’] vaut marseille).

Pour une URL comme ‘http//monsite.fr?page=1&ville=marseille‘ la chaine retournée sera :

Affichage

page=1&ville=marseille

Encodage de la chaine

Certains caractères, non alphanumériques, comme les accents ou les espaces ont pu être encodés par la fonction urlencode()

La chaine retournée pour l’url ‘http://destination.php?animal=un chien&saison=été‘ sera :

<?php
$query =  $_SERVER['QUERY_STRING'];
echo $query;
?>

Affichage

animal%3Dun+chien%26saison%3D%C3%A9t%C3%A9

La fonction urldecode() permet de décoder la chaîne ci-dessus en caractères lisibles.

<?php
$query =  $_SERVER['QUERY_STRING'];
echo urldecode($query);
?>

Affichage

animal=un chien&saison=été

Et enfin vous pouvez utiliser la fonction parse_str() qui permet d’analyser le chaîne comme des paramètres passés via l’URL.

La fonction prend en premier argument la chaîne d’entrée et en second argument un tableau où les variables de la chaîne y seront stockées, sous forme d’index de tableau.

<?php
$query =  $_SERVER['QUERY_STRING'];
$result= array();
parse_str(urldecode($query),$result);
echo $result['animal'];
echo '<br>';
echo $result['saison'];
?>

Affichage

un chien
été

Chemin virtuel

Dans certain cas, le chemin du script n’a pas d’existence physique réel sur votre site.

En effet, pour optimiser le référencement des pages, les URLs sont souvent réécrites en utilisant les répertoires virtuels.

Une URL ‘http://monsite.fr/article-8126-2.php‘ peut être transformée en ‘http://monsite.fr/index.php/article‘. Le répertoire ‘/article‘ qui suit le fichier réél ‘index.php‘ est virtuel.

Les chemins virtuels qui suivant un fichier réel peuvent être récupérés par $_SERVER[‘PATH_INFO‘] si la directive AcceptPathInfo est activée sur le serveur.

Pour L’URL ‘http://monsite.fr/index.php/article‘, on obtiendrait :

<?php
if(isset($_SERVER["PATH_INFO"])){
    echo $_SERVER["PATH_INFO"];
}
?>

Affichage

/article

Si ‘PATH_INFO’ est manquant, vous pouvez utilisez ‘ORIG_PATH_INFO’ qui est la version originale de ‘PATH_INFO’ avant d’être analysée par PHP.

if(!empty($_SERVER['PATH_INFO'])){
    $path_info = $_SERVER['PATH_INFO'];
} elseif (!empty($_SERVER['ORIG_PATH_INFO']){
    $path_info = $_SERVER['ORIG_PATH_INFO'];
} else{
    $path_info = '';
}
echo $path_info;
?>

Affichage

/article

A lire aussi

tutowebdesign

Afficher du contenu au scroll

Afficher du contenu au scroll Voici un effet impressionnant et pourtant très facile à mettre en place sur vos pages. Le principe consiste à faire

Lire »