13- Manipulation de fichiers et dossiers

PHP inclut plusieurs fonctions pour manipuler les dossiers et fichier sur le serveur

Voici quelques fonctions très utiles

Créer un fichier

Cette fonction va créer le fichier test.txt (dans le dossier en cours) avec le contenu ‘Hello World’.

Il est possible de spécifier le dossier.

Si le dossier n’existe pas, PHP retournera un warning

Vous pouvez créer le dossier avec la fonction mkdir

À noter que pour effacer un dossier vous pouvez utiliser la fonction rmdir (). Le dossier doit être vide afin que sa suppression soit possible.

Si vous désirez créer le fichier dans un dossier qui est parent au dossier en cours utilisez les deux points.

Le fichier sera créé dans le dossier parent

Si le fichier existe déjà, la fonction file_put_contents va remplacer le fichier existant. Si votre objectif est d’ajouter au fichier existant, utiliser l’option FILE_APPEND

Lire un fichier

Si le fichier n’existe pas, PHP va retourner un warning

Pour vérifier si le fichier existe vous pouvez utiliser la fonction file_exists ()

Lire un fichier ligne par ligne

La fonction précédente permettait de lire un fichier d’un coup. Il existe une fonction pour lire ligne par ligne.

Ici le fichier est ouvert avec l’option ‘r’ pour read.

Le bloc de code va s’exécuter tant que la fin du fichier n’est pas détectée feof()

Écrire dans un fichier ligne par ligne

Ici le fichier est ouvert avec l’option ‘w’ pour créer ou overwrite. Si on aurait voulu faire un ajout on aurait pu utiliser l’option ‘a’ pour append

Une fois le fichier ouvert on peut insérer des lignes

La fonction fputfile() permet d’écrire des lignes. Ici nous avons plutôt utilisé sa fonction sœur fputcsv () qui fait sensiblement la même chose mais au format csv.

À noter que nous avons utilisé un fputcsv avant la boucle. Cette ligne sera la première ligne du fichier et devra inclure le nom des colonnes. La fonction array_keys () permet justement de récupérer le nom des clés du tableau (name et âge)

Retour Plan de Cours