Travail avec le système de fichiers en PHP : exemples pratiques et conseils

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

Travail avec le système de fichiers en PHP : des bases aux projets réels

\n\n

Le travail avec le système de fichiers est l'une des tâches clés de tout développeur web. En PHP, il existe un ensemble puissant de fonctions intégrées permettant de créer, lire, éditer et supprimer des fichiers, ainsi que de gérer les répertoires. Dans cet article, nous allons examiner des exemples pratiques qui vous aideront à maîtriser le travail avec les fichiers en PHP et à appliquer ces connaissances dans des projets réels.

\n\n

Que vous créiez un système de journalisation, un téléchargeur de fichiers ou que vous sauvegardiez simplement des données utilisateur, comprendre les bases du système de fichiers en PHP est une compétence obligatoire. Passons à la pratique.

\n\n

Fonctions principales pour travailler avec les fichiers

\n\n

PHP offre plusieurs façons d'interagir avec les fichiers. Les plus populaires sont l'utilisation de fopen, fwrite, fread et des fonctions de haut niveau file_get_contents et file_put_contents. Examinons-les avec des exemples.

\n\n

Création et écriture dans un fichier

\n\n

Pour créer un fichier et y écrire, utilisez la fonction fopen avec le mode 'w' (écriture avec effacement) ou 'a' (ajout à la fin).

\n\n
<?php\n$filename = 'log.txt';\n$file = fopen($filename, 'w');\n\nif ($file) {\n    fwrite($file, "Ligne 1 : Écriture dans le fichier\\n");\n    fwrite($file, "Ligne 2 : Une autre écriture\\n");\n    fclose($file);\n    echo "Fichier créé et écrit avec succès.";\n} else {\n    echo "Erreur d'ouverture du fichier.";\n}\n?>
\n\n

Si vous devez écrire rapidement des données sans gérer le pointeur, utilisez file_put_contents :

\n\n
<?php\n$data = "Nouveau contenu pour le fichier.\\nDeuxième ligne.";\nfile_put_contents('data.txt', $data);\necho "Données écrites.";\n?>
\n\n

Lecture d'un fichier

\n\n

Pour lire un fichier ligne par ligne, utilisez fgets dans une boucle :

\n\n
<?php\n$file = fopen('log.txt', 'r');\nif ($file) {\n    while (($line = fgets($file)) !== false) {\n        echo $line . "<br>";\n    }\n    fclose($file);\n}\n?>
\n\n

Alternative — file_get_contents pour lire tout le contenu dans une chaîne :

\n\n
<?php\n$content = file_get_contents('log.txt');\necho nl2br($content);\n?>
\n\n

Vérification de l'existence et des propriétés des fichiers

\n\n

Avant de travailler avec un fichier, il est important de vérifier qu'il existe et qu'il est accessible en lecture ou en écriture. PHP fournit les fonctions file_exists, is_readable, is_writable et filesize.

\n\n

Exemple de vérification de fichier

\n\n
<?php\n$file = 'config.php';\n\nif (file_exists($file)) {\n    echo "Le fichier existe.<br>";\n    \n    if (is_readable($file)) {\n        echo "Le fichier est accessible en lecture.<br>";\n        echo "Taille du fichier : " . filesize($file) . " octets.";\n    } else {\n        echo "Le fichier existe mais n'est pas accessible en lecture.";\n    }\n} else {\n    echo "Fichier non trouvé.";\n}\n?>
\n\n

Vérification du type de fichier

\n\n

La fonction filetype retourne le type de fichier : 'file', 'dir', 'link' et autres.

\n\n
<?php\n$path = 'uploads';\nif (file_exists($path)) {\n    echo "Type : " . filetype($path); // affichera 'dir' si c'est un dossier\n}\n?>
\n\n

Gestion des répertoires

\n\n

Le travail avec les dossiers en PHP n'est pas moins important. Vous pouvez créer, supprimer et scanner des répertoires.

\n\n

Création et suppression de dossiers

\n\n
<?php\n// Création d'un dossier\nif (!file_exists('backup')) {\n    mkdir('backup', 0777, true); // troisième paramètre true — création récursive\n    echo "Dossier créé.";\n}\n\n// Suppression d'un dossier vide\nif (file_exists('temp')) {\n    rmdir('temp');\n    echo "Dossier supprimé.";\n}\n?>
\n\n

Scan du contenu d'un répertoire

\n\n

La fonction scandir retourne un tableau de tous les fichiers et dossiers

Blogs

Book Recommendations