Code source du fichier table-evol-gen.php

<?php
    // constantes numériques
    require ("constantes.php");

    // fonctions d'affichage de portions de pages HTML
    require ("acces_page.php");

    // génération du menu en colonne de gauche
    require ("genmenu.php");



    // modèle de page html
    $ficpage = DIR_PAGES."/table-evol-gen.html";

    // ouvrir le fichier contenant la page à afficher
    $descfic = fopen ($ficpage, "r");

    // si l'ouverture s'est bien passée
    if ($descfic)
    {
        // recopier le début de l'entête html en remplaçant noindex par index
        copmaj ($descfic, "noindex,", "index,");

        // recopier le début du fichier html jusqu'à la zone contenu
        copie_jusque_chaine ($descfic, "contenu", 1);

        // construire le nom du fichier csv
        $ficcsv = DIR_CSV."/vacsi-age-ta.csv";

        // l'ouvrir en lecture
        $descscv = fopen ($ficcsv, "r");

        // si l'ouverture s'est bien passée
        if ($descscv)
        {
            // recopier le fichier html jusqu'au contenu de la table
            copie_jusque_chaine ($descfic, "XXXTABLE");

            // lire une ligne du fichier csv
            $ligne = trim (fgets ($descscv, LG_MAX_CSV));

            // tantque non fin de fichier
            while ($ligne)
            {
                // séparer les nombres de vaccination des taux
                $pos_point = strpos ($ligne, ".");
                $deblig = substr ($ligne, 0, $pos_point);
                $finlig = substr ($ligne, $pos_point);

                // franciser les . décimaux
                $finlig = str_replace (".", ",", $finlig);

                // rajouter les pourcentages
                $finlig = str_replace (";", " %;", $finlig)." %";

                // mettre la ligne lue au format html
                $ligne = str_replace (";", "</td><td>", $deblig.$finlig);

                // mettre la ligne au format html
                $ligne = str_replace (";", "</td><td>", $ligne);

                // générer la ligne dans la table
                echo "          <tr align=\"center\">\n";
                echo "              <td>".$ligne."</td>\n";
                echo "          </tr>\n";

                // passer à la ligne suivante du fichier csv
                $ligne = trim (fgets ($descscv, LG_MAX_CSV));
            }

            // terminé avec ce fichier
            fclose ($descscv);
        }
        // sinon
        else
        {
            // message d'erreur
            echo '        <font color = "#FF0000">';
            echo "Fichier contenant les données inaccessible</font>\n";

            // sauter la table
            sauter_jusque_chaine ($descfic, "</table>");
        }

        // copie la suite du fichier html jusqu'à la section du menu
        copie_jusque_chaine ($descfic, "XXXMENU");

        // générer le menu
        genmenu (basename ($_SERVER ['SCRIPT_NAME']));

        // copier la fin de la page html
        copie_jusque_fin ($descfic);

        // terminé avec le fichier html
        fclose ($descfic);
    }
    // sinon message d'erreur
    else
        echo "Page ".basename ($ficpage)." manquante";
?>