Vous êtes sur la page 1sur 4

Module 

: Programmation de sites web dynamiques en PHP

LA GESTION DES FICHIERS EN PHP

Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de
fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier est repérée par
une variable, indiquant l'état du fichier et que l'on peut passer en paramètre aux fonctions spécialisées pour le
manipuler. 

La fonction fopen()
La fonction de base est la fonction fopen(). C'est elle qui permet d'ouvrir un fichier, que ce soit pour le lire, le
créer, ou y écrire. Voilà sa syntaxe : 

entier fopen(chaine nomdufichier, chaine mode);

Le mode indique le type d'opération qu'il sera possible d'effectuer sur le fichier après ouverture. Il s'agit d'une
lettre (en réalité une chaîne de caractères) indiquant l'opération possible :

Mode Description

r ouverture en lecture seulement

w ouverture en écriture seulement (la fonction crée le fichier s'il n'existe pas)

a ouverture en écriture seulement avec ajout du contenu à la fin du fichier (la fonction crée le fichier s'il
n'existe pas)

r+ ouverture en lecture et écriture

w+ ouverture en lecture et écriture (la fonction crée le fichier s'il n'existe pas)

a+ ouverture en lecture et écriture avec ajout du contenu à la fin du fichier (la fonction crée le fichier s'il
n'existe pas)

Lorsque le mode est suivi du caractère + celui-ci peut être lu et écrit. Enfin, le fait de faire suivre
le mode par la lettre b entre crochets indique que le fichier est traité de façon binaire. 
Voici un tableau récapitulant l'ensemble des modes de fichiers possibles : 

Lecture et écriture
Une fois que le fichier a été ouvert avec le mode désiré, il est possible de lire son contenu et d'y écrire des
informations grâce aux fonctions :

 fputs() (aussi parfois appelée fwrite(), les deux noms sont équivalents, on parle d'alias) permettant d'écrire
une chaîne de caractères dans le fichier

entier fputs(entier Etat_du_fichier, chaine Sortie);


Module : Programmation de sites web dynamiques en PHP

La fonction fputs() renvoie le nombre de caractères effectivement écrits dans le fichier


 fgets() permettant de récupérer une ligne du fichier

chaîne fgets(entier Etat_du_fichier, entier Longueur);

Le paramètre Longueur désigne le nombre de caractères maximum que la fonction est sensée récupérer sur la
ligne. La fonction fgets() renvoie 0 en cas d'échec, la chaîne dans le cas contraire 
Etant donné que la fonction fgets() récupère à chaque appel une nouvelle ligne du fichier, il est essentiel, pour
récupérer l'intégralité du contenu d'un fichier de l'insérer dans une bouclewhile. 
La fonction fclose :
A la fin des opérations faites sur le fichier, il faudra le fermer avec la foction fclose()

entier fclose(entier Etat_du_fichier);

Exemple d’application :

Pour y voir un peu plus clair, on propose ce code source qui compte le nombre de fois que la page a été vue :

<?php
$monfichier = fopen('compteur.txt', 'r+');
$vues = fgets($monfichier); // On lit la première ligne (nombre de vues de la page)
$vues++; // On augmente de 1 ce nombre de pages vues
fseek($monfichier, 0); // On remet le curseur au début du fichier
fputs($monfichier, $vues); // On écrit le nouveau nombre de vues de la page
fclose($monfichier);
echo '<p>Cette page a été vue ' . $vues . ' fois !</p>';
?>
Module : Programmation de sites web dynamiques en PHP

Atelier 5 : Gestion des fichiers


Partie I :

On souhaite lire les numéros téléphoniques enregistrés dans un fichier pour


pouvoir leur ajouter le chiffre ‘’6’’ à la 2 nde position.

1. Créer un fichier texte ‘‘numeros.txt’’ sur votre dossier et remplir le fichier


comme suit :

2. Déclarer les variables suivantes comme des tableaux de chaines de caractères :


Ancien_Num et New_Num.

3. Utiliser la fonction fopen() pour faire une lecture du fichier texte.

4. Charger le contenu des lignes dans le tableau Ancien_Num[].

Req : Utiliser une boucle conditionnelle pour charger toutes les lignes.

5. Utiliser la fonction substr () pour pour se débarrasser du au début de la chaine Ancien_Num[i] et affecter
le résultat concaténé avec ‘’06’ ’à New_Num [i] pour chaque i.

Req : la fonction replace s’écrit : substr(chaine_de_base,indice_debut,indice_fin).

6. Utiliser la fonction fopen() pour créer et ouvrir un fichier texte :


‘’newnum.txt’’ en mode ajout à la fin.

7. Charger le contenu du tableau New_Num[] dans le fichier texte.

8. Enregistrer les changements apportées à votre application, exécuter-la et


vérifier que vous avez dans le fichier texte ceci:

Partie I I:

On souhaite utiliser le formulaire suivant pour alimenter un fichier


texte «Filière.txt» qui servira de semi-BD :

1. Créer le formulaire sur une application web.

2. Utiliser le bouton sauvegarder pour poster les données du formulaire sur la page en cours
puis ouvrir le fichier texte en mode ajout à la fin et envoyer les données récupérées au fichier
texte.

3. Au contraire, le bouton liste des filières rouvre le fichier en lecture pour afficher les filières
qui y sont enregistrées.

4. Fermer le flux du fichier dans chacun des deux cas.


Module : Programmation de sites web dynamiques en PHP

Vous aimerez peut-être aussi