Écrire dans des fichiers et y ajouter du contenu
Écrire des données dans des fichiers avec file_put_contents et FILE_APPEND.
Écrire dans des fichiers et y ajouter du contenu est une leçon PHP Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage PHP Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours PHP Academy comprend 4 leçons au total.
Écrire dans des fichiers en PHP
PHP fournit plusieurs façons d'écrire dans des fichiers :
file_put_contents()— écrire une chaîne dans un fichier en un seul appelfopen()+fwrite()— écriture sous forme de flux- Utiliser l'indicateur
FILE_APPENDpour ajouter du contenu au lieu de l'écraser
file_put_contents()
Écrire une chaîne dans un fichier : le fichier est créé s'il n'existe pas et écrasé s'il existe :
<?php
$data = "Hello, PHP!\nThis is line 2.\n";
$bytes = file_put_contents('/tmp/output.txt', $data);
if ($bytes === false) {
echo 'Failed to write';
} else {
echo "Wrote $bytes bytes";
}Ajouter avec FILE_APPEND
Ajoutez du contenu à la fin d'un fichier existant avec l'indicateur FILE_APPEND :
<?php
$logEntry = date('Y-m-d H:i:s') . ' - User logged in' . PHP_EOL;
file_put_contents(
'/var/log/app.log',
$logEntry,
FILE_APPEND | LOCK_EX // append + exclusive lock
);Modes d'écriture de fopen
Les modes d'ouverture de fopen déterminent la manière dont le fichier est ouvert :
'w'— écrire, réduire la longueur à zéro ou créer le fichier'a'— écrire, ajouter à la fin, créer si le fichier n'existe pas'x'— écrire, échouer si le fichier existe déjà'r+'— lire et écrire depuis le début, le fichier doit exister
fopen + fwrite
Écriture sous forme de flux pour un contrôle précis :
<?php
$handle = fopen('/tmp/report.txt', 'w');
if ($handle === false) die('Cannot open file');
fwrite($handle, "Report generated: " . date('Y-m-d') . "\n");
fwrite($handle, str_repeat('-', 40) . "\n");
fwrite($handle, "Total: 1234\n");
fclose($handle);
echo 'Report written';Écrire des fichiers CSV
Utilisez fputcsv() pour écrire des lignes CSV correctement formatées :
<?php
$rows = [
['Name', 'Email', 'Score'],
['Alice', 'alice@test.com', 95],
['Bob', 'bob@test.com', 87],
];
$handle = fopen('/tmp/results.csv', 'w');
foreach ($rows as $row) {
fputcsv($handle, $row);
}
fclose($handle);Écrire des fichiers JSON
Sérialisez les données PHP en JSON et écrivez-les dans un fichier :
<?php
$config = [
'version' => '2.0',
'debug' => false,
'db' => ['host' => 'localhost', 'port' => 3306],
];
$json = json_encode($config, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('/app/config.json', $json);
echo 'Config saved';Écritures atomiques de fichiers
Écrivez dans un fichier temporaire, puis renommez-le pour effectuer des mises à jour atomiques (sûres en cas de plantage) :
<?php
$target = '/app/data.json';
$tmpFile = $target . '.tmp.' . uniqid();
$data = json_encode(['ts' => time(), 'value' => 42]);
file_put_contents($tmpFile, $data, LOCK_EX);
rename($tmpFile, $target); // atomic on most OSes
echo 'File updated atomically';Autorisations et propriété
Définissez les autorisations du fichier après sa création avec chmod() :
<?php
$path = '/var/www/uploads/avatar.jpg';
// Copy uploaded temp file to destination
move_uploaded_file($_FILES['avatar']['tmp_name'], $path);
// Set permissions (owner read/write, group read, world read)
chmod($path, 0644);
echo 'File uploaded and permissions set';Fichiers temporaires
Créez des fichiers temporaires en toute sécurité avec tempnam() ou tmpfile() :
<?php
// Create a named temp file
$tmpPath = tempnam(sys_get_temp_dir(), 'php_');
file_put_contents($tmpPath, 'temp data');
$content = file_get_contents($tmpPath);
unlink($tmpPath); // delete when done
// Anonymous temp file handle
$tmp = tmpfile();
fwrite($tmp, 'anonymous temp');
// auto-deleted when $tmp is garbage collectedCopier et déplacer des fichiers
Copiez et renommez ou déplacez des fichiers avec les fonctions intégrées :
<?php
// Copy a file
copy('/src/template.html', '/dst/page.html');
// Move / rename
rename('/tmp/upload_abc', '/storage/images/photo.jpg');
// Delete
unlink('/tmp/old_file.txt');
// Check if file was copied successfully
if (copy('a.txt', 'backup.txt')) {
echo 'Backup created';
}Vérification rapide
Quel indicateur devez-vous transmettre à file_put_contents() pour ajouter du contenu à la fin d'un fichier au lieu de l'écraser ?
Récapitulatif : écriture des fichiers
Les bases de l'écriture des fichiers :
file_put_contents()— méthode la plus simple pour écrire ou écraser- Indicateur
FILE_APPENDpour ajouter à la fin fopen('a', ...)+fwrite()pour l'écriture en fluxfputcsv()pour produire du CSV- Écritures atomiques : écrire dans un fichier temporaire +
rename() chmod()pour définir les autorisations après la création
Questions Fréquemment Posées
La leçon « Écrire dans des fichiers et y ajouter du contenu » est-elle gratuite ?
Oui — le texte complet de « Écrire dans des fichiers et y ajouter du contenu » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours PHP Academy, passe à CoddyKit PRO. Le cours PHP Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Écrire dans des fichiers et y ajouter du contenu » ?
Écrire des données dans des fichiers avec file_put_contents et FILE_APPEND. Tu pratiques PHP Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer PHP Academy ?
Aucune expérience préalable n'est requise. PHP Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Écrire dans des fichiers et y ajouter du contenu » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon PHP Academy ?
Oui. Chaque leçon PHP Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Lire des fichiers avec PHP
- Écrire dans des fichiers et y ajouter du contenu
- Travailler avec les répertoires
- Gérer les téléversements de fichiers