Travailler avec le système de fichiers en PHP : guide complet

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Travailler avec le système de fichiers en PHP : bases et exemples pratiques



Travailler avec le système de fichiers est l'une des tâches clés du développement web en PHP. Qu'il s'agisse de télécharger des images, d'écrire des logs, de lire des fichiers de configuration ou de gérer des données temporaires, la connaissance des fonctions de manipulation des fichiers et des répertoires est essentielle pour tout développeur PHP. Dans cet article, nous allons détailler les opérations de base : ouverture, lecture, écriture, fermeture de fichiers, ainsi que la gestion des dossiers et des droits d'accès.



Fonctions principales pour travailler avec les fichiers en PHP



PHP offre un riche ensemble de fonctions intégrées. Examinons les plus importantes.



Ouverture et fermeture d'un fichier : fopen() et fclose()



Pour commencer à travailler avec un fichier, il faut d'abord l'ouvrir avec fopen(). La fonction prend deux paramètres obligatoires : le chemin du fichier et le mode d'ouverture. Le mode détermine ce que vous pouvez faire avec le fichier : lire, écrire, ajouter des données à la fin, etc.



Modes principaux :

  • r — lecture seule. Le pointeur est au début du fichier.
  • r+ — lecture et écriture. Le pointeur est au début.
  • w — écriture seule. Si le fichier existe, il est vidé. Sinon, il est créé.
  • w+ — lecture et écriture. Vide le fichier ou en crée un nouveau.
  • a — écriture seule à la fin du fichier. Si le fichier n'existe pas, il est créé.
  • a+ — lecture et écriture à la fin.


<?php$file = fopen("example.txt", "w"); // Ouvrir le fichier en écritureif ($file) {    echo "Fichier ouvert avec succès.";    fclose($file); // Toujours fermer le fichier après utilisation} else {    echo "Impossible d'ouvrir le fichier.";}?>


Lecture d'un fichier : fgets(), fread() et file_get_contents()



La façon la plus simple de lire un fichier entier est la fonction file_get_contents(). Elle retourne le contenu sous forme de chaîne.



<?php$content = file_get_contents("example.txt");echo $content;?>


Si vous devez lire ligne par ligne (par exemple, pour les gros fichiers), utilisez fgets() dans une boucle :



<?php$file = fopen("example.txt", "r");while (!feof($file)) {    $line = fgets($file);    echo $line . "<br>";}fclose($file);?>


La fonction fread() permet de lire un nombre donné d'octets :



<?php$file = fopen("example.txt", "r");$content = fread($file, 100); // Lire les 100 premiers octetsecho $content;fclose($file);?>


Écriture dans un fichier : fwrite() et file_put_contents()



Pour écrire des données dans un fichier, il est pratique d'utiliser file_put_contents(). Elle ouvre le fichier, écrit la chaîne et le ferme en une seule commande.



<?php$data = "Bonjour, le monde !";file_put_contents("example.txt", $data);?>


Si vous devez ajouter des données à la fin, utilisez le drapeau FILE_APPEND :



<?php$data = "Nouvelle ligne";file_put_contents("example.txt", $data, FILE_APPEND);?>


Pour une écriture plus flexible (par exemple, en mode binaire), on utilise fwrite() :



<?php$file = fopen("example.txt", "w");fwrite($file, "Chaîne à écrire");fclose($file);?>


Travailler avec les répertoires en PHP



En plus des fichiers, PHP permet de gérer les dossiers : créer, supprimer, lire leur contenu.



Création et suppression de dossiers : mkdir() et rmdir()



La fonction mkdir() crée un nouveau répertoire. Le deuxième paramètre permet de spécifier les droits d'accès (par défaut 0777).



<?phpif (mkdir("new_folder", 0777)) {    echo "Dossier créé.";} else {    echo "Erreur lors de la création du dossier.";}?>


Pour supprimer un dossier vide, utilisez

Blogs

Book Recommendations