Outils pour utilisateurs

Outils du site


clubinfo:premiere_page_avec_php

Ceci est une ancienne révision du document !


PHP : Lecture de fichier html ou xml

Présentation

But

Générer automatiquement la liste des ponts disponibles sur notre site afin de n'avoir qu'a ajouter les nouvelles pages sans toucher au sommaire.

Activité

Il va falloir :

  • Déterminer les différentes pages (décrivant un pont) placées sur notre site.
  • Trouver pour chaque page le nom du pont concerné.
  • Trier la liste des ponts dans l'ordre alphabétique pour plus de clarté.
  • Afficher la liste sur la page.

Connaissances

  • Revoir le cours sur le PHP

Connaissances supplémentaires

Il existe de nombreuses bibliothèques PHP contenant des fonctions utiles aux différentes tâches à réaliser. Voir sur Références PHP le détail des différentes fonctions ci-dessous grâce a son moteur de recherche.

Le système de fichier

  • Le système de fichier correspond à l'arborescence des adresses URL 1)
1)
dossier /) fichier.extension).
  • Le dossier courant peut être représenté par un point '.' et le dossier parent par '..'.
  • Un dossier est un espace de données qui contient des pointeurs sur le contenu des fichiers.
  • Un fichier est identifié par son chemin (liste des dossiers successifs, un nom et une extension (fonction de son contenu).
Si un fichier est connu, on peut y accéder directement : fopen ($chemin, 'r'); (r = lecture et w = écriture). Pour parcourir ou chercher les fichier d'un dossier, il est nécessaire de :
  • Pointer sur le dossier courant (ou sont enregistrées nos pages) : opendir()
  • Lire les fichiers qui s'y trouvent : readdir()
  • Conserver ceux qui contiennent du HTML sauf index.html : pathinfos()

Coup de pouce

====Le contenu d'un fichier HTML==== le HTML est un langage de balisage issu du XML. Il existe des fonctions prédéfinies pour en récupérer le contenu. Il faut :
  • Ouvrir chaque fichier HTML : SimpleXMLElement()
  • Récupérer le nom du pont contenu dans la balise <h2> du corps (<body>) du fichier

Coup de pouce

====Les tableaux==== Un tableau est une liste de clé→valeur. Une fois le tableau créé, je peux ajouter de nouvelle clé→valeur ou en lire le contenue. Les clés (série de nombres débutant à 0 ou série de mots uniques dans la liste) permettent d'accéder aux différentes valeurs. Les tableaux peuvent être “multidimensionnel” (la valeur est elle même un tableau). Ils peuvent aussi être parcourus de manière itérative. Il faut :
  • Créer un tableau pour contenir la liste (avant d'accéder au système de fichier) : array()
  • Ajouter un élément (fichier→pont) pour chaque fichier HTML valide
  • Trier la liste lorsque tous les fichiers ont étés lus : asort()

Coup de pouce

====Affichage de chaînes de caractères==== Nous avons vu que 2 chaînes de caractères pouvaient être concaténées grâce à l'opérateur '.' mais il existe aussi de nombreuses fonctions comme : chercher la position d'une sous chaîne, extraire une sous chaîne, convertir la chaîne (minuscule/majuscule …), remplacer une partie de chaîne, formater une chaîne … Concernant l'affichage d'un résultat, c'est sa mise en forme qui nous importe le plus.
  • Indiquer le nombre de pont de la liste : count()
  • Créer une boucle pour traiter tous les éléments de la liste des ponts : foreach()
  • Afficher chaque élément de la liste de manière formatée : printf()

Coup de pouce

=====Améliorations=====
Cette 1ere page PHP nous permet de ne plus modifier notre page “index” à chaque ajout de nouveau pont. Pour aller plus loin avec le PHP, il faut des compétences en base de données SQL et formulaire HTML. La base de donnée nous permettra de stocker toutes les informations des ponts et le formulaire de transmettre les informations de chaque pont à la base de données.
Au lieu d'un fichier index et d'autant de pages que de ponts, notre site pourra fonctionner avec seulement 3 : un fichier index (qui en plus de la liste pourra utiliser un moteur de recherche grâce à la base de donnée), un fichier formulaire (pour ajouter les nouveaux ponts) et un fichier d'affichage (valable pour tous les ponts). Le PHP (ou les autres langages web) ont permis la génération automatisée de page et le développement des sites marchands et autres.
clubinfo/premiere_page_avec_php.1723986088.txt.gz · Dernière modification: 2024/08/18 15:01 de mrcjl