PHP:
Rédiger un fichier texte

Comment faire :

PHP prend en charge nativement l’écriture de fichiers à travers des fonctions telles que file_put_contents, fopen en combinaison avec fwrite, et fclose. Voici comment les utiliser :

Écriture simple avec file_put_contents :

Cette fonction simplifie le processus d’écriture dans un fichier en faisant tout en une étape.

$content = "Bonjour, monde !";
file_put_contents("hello.txt", $content);
// Vérifie si le fichier est correctement écrit
if (file_exists("hello.txt")) {
    echo "Fichier créé avec succès !";
} else {
    echo "Échec de la création du fichier.";
}

Écriture avancée avec fopen, fwrite, et fclose :

Pour plus de contrôle sur l’écriture des fichiers, comme ajouter du texte ou plus de gestion des erreurs, utilisez fopen avec fwrite.

$file = fopen("hello.txt", "a"); // mode 'a' pour ajouter, 'w' pour écrire
if ($file) {
    fwrite($file, "\nAjout de plus de contenu.");
    fclose($file);
    echo "Contenu ajouté avec succès !";
} else {
    echo "Échec de l'ouverture du fichier.";
}

Lire le fichier pour l’affichage :

Pour vérifier notre contenu :

echo file_get_contents("hello.txt");

Exemple de sortie :

Bonjour, monde !
Ajout de plus de contenu.

Utilisation de bibliothèques tierces :

Pour des opérations de fichier plus complexes, des bibliothèques telles que League\Flysystem peuvent être utilisées pour une couche d’abstraction au-dessus du système de fichiers, mais les fonctions intégrées de PHP sont souvent suffisantes pour des tâches basiques d’écriture de fichier. Voici un bref exemple si vous choisissez d’explorer Flysystem :

require 'vendor/autoload.php';
use League\Flysystem\Filesystem;
use League\Flysystem\Local\LocalFilesystemAdapter;

$adapter = new LocalFilesystemAdapter(__DIR__);
$filesystem = new Filesystem($adapter);

$filesystem->write('hello.txt', "Utilisation de Flysystem pour écrire ceci.");

Cet exemple suppose que vous avez installé league/flysystem via Composer. Les bibliothèques tierces peuvent grandement simplifier la gestion de fichiers plus complexe, en particulier lors de l’utilisation de différents systèmes de stockage de manière transparente.