MANIPULER UN FICHIER AVEC PHP
- Ressources documentaires :
PHP - Manipuler un fichier
- Ressources matérielles : Poste de travail Windows / Linux Ubuntu
- Ressources logicielles : Navigateur, éditeur de texte, serveur http pourvu du module PHP
Mise en situation
Un dispositif d'évaluation génère un fichier au format csv, dont le nombre de lignes augmente au fil du temps.
Ce fichier fournit trois sortes de renseignements :
- Des dates.
- Des niveaux.
- Des coefficients.
L'objectif est de produire un programme permettant de gérer ce fichier.
Le fichier utilisé pour ce TP peut être récupéré en cliquant sur le lien :
donnees.csv
Afficher le contenu du fichier
- Etudier la structure du fichier "donnees.csv" en l'ouvrant avec un éditeur de texte.
- Placer le fichier "donnees.csv" sur le serveur
en y attribuant les droits de lecture et d'écriture.
- Proposer un programme, nommé "index.php", permettant d'afficher ce fichier dans la fenêtre d'un navigateur.
- Modifier ce programme pour présenter l'affichage sous la forme d'un tableau.
Remarque : On pourra éventuellement utiliser la fonction split()
qui scinde une chaîne en un tableau, grâce à une expression rationnelle.
<?php
$ligne='2013-08-12,7.5,2.2';
list($date, $niveau, $coefficient) = split(",", $ligne);
?>
Supprimer des lignes du fichier
Le nombre de lignes du fichier "donnees.csv" augmente avec le temps.
Il est donc nécessaire de proposer une solution pour supprimer les lignes devenues obsolètes.
L'idée est de rajouter une colonne au tableau comportant des liens avec le texte "Sup".
En cliquant sur ces liens, on efface la ligne correspondante.
1. Modifier le programme précédent pour obtenir l'affichage ci-dessous.
La page "supprimer.php?numeroligne=..." est appelée en cliquant sur le texte "Sup".
Le numéro de la ligne à supprimer est transmis au fichier "supprimer.php" par la méthode GET.
2. Ecrire le programme "supprimer.php", réalisant les tâches ci-dessous :
- Récupérer, dans une variable, le numéro de la ligne à supprimer.
- Créer la variable "$sauv" contenant toutes les lignes du fichier "donnees.csv", hormis la ligne à supprimer.
- Remplacer le contenu du fichier "donnees.csv" par celui de la variable "$sauv".
- Ouvrir en mode écriture le fichier "donnees.csv".
- Ecrire dans ce fichier le contenu de la variable "$sauv".
- Fermer le ficher "donnees.csv".
- Afficher le contenu du fichier "donnees.csv" modifié, avec la solution développée précédemment.
Ajouter des lignes au fichier
Bien que le fichier "donnees.csv" soit complété automatiquement au fil du temps,
on souhaite qu'un opérateur puisse ajouter manuellement des données à la fin de ce fichier.
Développer une solution utilisant :
- Le programme nommé "formulaire.html", dont la présentation ressemblera à celle proposée ci-dessous.
- Le programme nommé "enregistrer.php", ajoutant les données entrées par l'opérateur
et affichant un message de confirmation.