Articles
This document is also available in English
Dans les applications qui requiert la saisie d'une adresse Internet par un visiteur, il est important de pouvoir vérifier celle-ci.
Imaginez quelques instants une application de type annuaire. On demande au webmaster de saisir l'adresse de son site Internet.
Plusieurs conditions sont requises :
- Utilisation du protocole HTTP uniquement.
- Le nom de domaine doit être valide et existant.
- La page saisie doit exister.
Imaginons que notre visiteur nous propose l'url : http://www.nexen.net
Exemple n°1 : Analyser l'url
<?php $url = 'http://www.nexen.net/'; $parse_url = parse_url($url); /** * Array * ( * [scheme] => http * [host] => www.nexen.net * [path] => / * ) */ ?>
Exemple n°2 : Vérifier le protocole
<?php if ($parse_url['scheme'] != 'http') { /** * Le protocole saisie n'est pas accepté. */ } ?>
Exemple n°3 : Vérifier le nom de domaine
<?php if (!dns_get_record($parse_url['host'])) { /** * Cette adresse n'existe pas. */ } ?>
La fonction dns_get_record() retourne un tableau vide dans le cas où aucun enregistrement DNS n'a été trouvé pour le nom de domaine et le sous domaine.
Exemple n°4 : Vérifier l'existence de la page
<?php $headers = get_headers($url); $status = $headers[0]; if (!preg_match('`200 OK`', $status)) { /** * La page n'existe pas */ } ?>
La fonction get_headers() retourne les en-têtes envoyés par le serveur. La première ligne permet de savoir si le document demandé existe. Dans notre cas on n'acceptera que le code 200. On refusera donc les redirections, les pages introuvables, etc.
A mémoriser :
- La fonction parse_url() est disponible depuis PHP 4.
- La fonction décompose l'URL, mais ne garantit pas que les morceaux seront valides
- Et pour reconstruire une URL? patience....
| < Précédent | Suivant > |
|---|
Commentaires
Vous pouvez ajouter votre commentaire! |
Vous devez vous connecter pour commenter


