PHP Création/Écriture de Fichier


Dans ce chapitre, nous allons vous apprendre à créer et à écrire dans un fichier sur le serveur.


PHP Créer un Fichier - fopen()

La fopen() fonction est également utilisée pour créer un fichier. Cela peut être un peu déroutant, mais en PHP, un fichier est créé en utilisant la même fonction que celle utilisée pour ouvrir des fichiers.

Si vous utilisez fopen() sur un fichier qui n'existe pas, il sera créé, à condition que le fichier soit ouvert en écriture (w) ou en ajout (a).

L'exemple ci-dessous crée un nouveau fichier appelé "testfile.txt". Ce fichier sera créé dans le même répertoire que celui où se trouve le code PHP :

Exemple

$myfile = fopen("testfile.txt", "w")


Permissions de Fichier PHP

Si vous rencontrez des erreurs en essayant d'exécuter ce code, vérifiez que vous avez accordé à votre fichier PHP l'accès pour écrire des informations sur le disque dur.


PHP Écrire dans un Fichier - fwrite()

La fwrite() fonction est utilisée pour écrire dans un fichier.

Le premier paramètre de fwrite() contient le nom du fichier dans lequel écrire, et le deuxième paramètre est la chaîne à écrire.

L'exemple ci-dessous écrit quelques noms dans un nouveau fichier appelé "newfile.txt" :

Exemple

<?php
$myfile = fopen("newfile.txt", "w") or die("Impossible d'ouvrir le fichier !");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

Remarquez que nous avons écrit dans le fichier "newfile.txt" deux fois. Chaque fois que nous avons écrit dans le fichier, nous avons envoyé la chaîne $txt qui contenait d'abord "John Doe" puis "Jane Doe". Après avoir terminé l'écriture, nous avons fermé le fichier en utilisant la fclose() fonction.

Si nous ouvrons le fichier "newfile.txt", il ressemblera à ceci :

John Doe
Jane Doe


PHP Écrasement

Maintenant que "newfile.txt" contient des données, nous pouvons montrer ce qui se passe lorsque nous ouvrons un fichier existant pour écriture. Toutes les données existantes seront ÉCRASÉES et nous commencerons avec un fichier vide.

Dans l'exemple ci-dessous, nous ouvrons notre fichier existant "newfile.txt" et écrivons de nouvelles données dedans :

Exemple

<?php
$myfile = fopen("newfile.txt", "w") or die("Impossible d'ouvrir le fichier !");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

Si nous ouvrons maintenant le fichier "newfile.txt", John et Jane ont disparu, et seules les données que nous venons d'écrire sont présentes :

Mickey Mouse
Minnie Mouse

PHP Ajouter du Texte

Vous pouvez ajouter des données à un fichier en utilisant le mode "a". Le mode "a" ajoute du texte à la fin du fichier, tandis que le mode "w" écrase (et efface) l'ancien contenu du fichier.

Dans l'exemple ci-dessous, nous ouvrons notre fichier existant "newfile.txt" et ajoutons du texte :

Exemple

<?php
$myfile = fopen("newfile.txt", "a") or die("Impossible d'ouvrir le fichier !");
$txt = "Donald Duck\n";
fwrite($myfile, $txt);
$txt = "Goofy Goof\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

Si nous ouvrons maintenant le fichier "newfile.txt", nous verrons que Donald Duck et Goofy Goof ont été ajoutés à la fin du fichier :

Mickey Mouse
Minnie Mouse
Donald Duck
Goofy Goof

Référence Complète du Système de Fichiers PHP

Pour une référence complète des fonctions du système de fichiers, consultez notre Référence PHP du Système de Fichiers .