PHP - Manipuler fichiers et répertoires efficacement

PHP PDF 9 pages 141.49 Ko 2,270
PHP - Manipuler fichiers et répertoires efficacement
PDF 9 p. 141.49 Ko
Télécharger

Lien sécurisé — 5 min

par Thierry VAIRA

À propos de ce cours

  • 1. Les fonctions de gestion de fichiers
  • 2. Exemple
  • 3. L’appel fopen
  • 4. Accès aux répertoires
  • 5. Exemple
  • 6. La classe dir
  • 7. Exemple
  • 8. Travaux pratiques

Programme du cours

Objectifs d'apprentissage

  • Maîtriser les fonctions PHP de base pour la manipulation de fichiers (lecture, écriture, suppression).
  • Comprendre comment ouvrir, lire et fermer des fichiers avec les fonctions fopen(), fread(), et fclose().
  • Apprendre à naviguer et manipuler les répertoires avec des fonctions comme opendir(), readdir(), et closedir().
  • Utiliser la classe Dir pour une gestion orientée objet des répertoires.
  • Mettre en pratique ces connaissances via des exercices concrets.

Public cible

Ce cours s'adresse aux développeurs PHP débutants ou intermédiaires souhaitant approfondir leur compréhension de la gestion des fichiers et répertoires en PHP. Il est également utile pour les administrateurs système ou les développeurs full-stack qui ont besoin d'interagir avec le système de fichiers dans leurs applications web.

Les fonctions de gestion de fichiers

PHP offre une multitude de fonctions natives pour manipuler les fichiers. Parmi les plus courantes, on trouve fopen() pour ouvrir un fichier, fwrite() pour écrire dedans, fread() pour lire son contenu, et fclose() pour le fermer. D'autres fonctions comme file_exists() permettent de vérifier si un fichier existe, tandis que unlink() sert à le supprimer.

Exemple

Voici un exemple simple d'écriture et de lecture dans un fichier :

<?php $file = fopen("exemple.txt", "w"); fwrite($file, "Bonjour, monde !"); fclose($file); $file = fopen("exemple.txt", "r"); echo fread($file, filesize("exemple.txt")); fclose($file); ?>

L’appel fopen

La fonction fopen() est cruciale car elle permet d'ouvrir un fichier dans différents modes : lecture seule ("r"), écriture ("w"), ajout ("a"), etc. Le choix du mode détermine les opérations possibles sur le fichier. Par exemple, le mode "w" écrase le fichier s'il existe déjà, tandis que "a" ajoute du contenu à la fin.

Accès aux répertoires

PHP permet aussi de manipuler les répertoires. Les fonctions opendir(), readdir(), et closedir() sont utilisées pour parcourir le contenu d'un dossier. Par exemple, readdir() lit les entrées une par une, ce qui est utile pour lister tous les fichiers d'un répertoire.

Exemple

Voici comment lister les fichiers d'un répertoire :

<?php $dir = opendir("."); while (($file = readdir($dir)) !== false) { echo $file . "<br>"; } closedir($dir); ?>

La classe Dir

PHP propose également une approche orientée objet avec la classe Dir. Cette classe encapsule les fonctions de répertoire dans une interface plus intuitive. Par exemple, on peut créer une instance de Dir et utiliser ses méthodes pour lire le contenu du répertoire.

Exemple

Utilisation de la classe Dir :

<?php $d = dir("."); while (($entry = $d->read()) !== false) { echo $entry . "<br>"; } $d->close(); ?>

Travaux pratiques

Pour consolider ces concepts, vous serez amené à réaliser plusieurs exercices pratiques :

  • Créer un script qui enregistre des données saisies par l'utilisateur dans un fichier.
  • Développer un outil qui liste récursivement tous les fichiers d'un répertoire et de ses sous-répertoires.
  • Implémenter un système de journalisation (logging) qui archive les erreurs dans un fichier texte.