Chapitre 14 : Manipulation de fichiers
Apprenez à lire, écrire, modifier et supprimer des fichiers avec PHP. Un guide complet pour manipuler le système de fichiers.
1. Introduction
PHP permet de manipuler facilement les fichiers présents sur le serveur : lire, écrire, créer, modifier ou supprimer. Ces opérations sont couramment utilisées pour créer des journaux, stocker des données temporaires ou traiter des fichiers uploadés.
2. Ouvrir un fichier avec fopen()
Avant de lire ou écrire, vous devez ouvrir un fichier :
$handle = fopen("donnees.txt", "r"); // r = lecture seule
?>
Les modes possibles :
"r": lecture seule"w": écriture (vide le fichier s'il existe)"a": écriture (ajoute à la fin)"x": crée un fichier (erreur s'il existe déjà)"r+": lecture + écriture
3. Lire un fichier
Voici plusieurs façons de lire un fichier en PHP :
Ligne par ligne
$handle = fopen("donnees.txt", "r");
while (!feof($handle)) {
echo fgets($handle) . "<br>";
}
fclose($handle);
?>
Tout le contenu d'un coup
$contenu = file_get_contents("donnees.txt");
echo $contenu;
?>
4. Écrire dans un fichier
Remplacer le contenu existant
file_put_contents("nouveau.txt", "Bonjour monde !");
?>
Ajouter du texte à la fin
file_put_contents("log.txt", "Nouvelle ligne\n", FILE_APPEND);
?>
Avec fwrite()
$handle = fopen("donnees.txt", "a");
fwrite($handle, "Ligne ajoutée\n");
fclose($handle);
?>
5. Supprimer un fichier
unlink("ancien.txt");
?>
unlink() supprime un fichier de manière irréversible.
6. Fonctions utiles
file_exists($fichier)– Vérifie si le fichier existeis_readable($fichier)– Vérifie si le fichier est lisibleis_writable($fichier)– Vérifie si on peut écrire dedansfilesize($fichier)– Renvoie la taille en octetsrename($ancien, $nouveau)– Renomme ou déplace un fichier
7. Exemple pratique
Créer un formulaire qui permet à l'utilisateur d'écrire un message dans un fichier :
HTML
<textarea name="message"></textarea>
<button type="submit">Enregistrer</button>
</form>
PHP
if (!empty($_POST["message"])) {
$message = htmlspecialchars($_POST["message"]);
file_put_contents("messages.txt", $message . "\n", FILE_APPEND);
echo "Message sauvegardé.";
}
?>
8. Exercices proposés
- Créer un formulaire qui ajoute une ligne dans un fichier texte.
- Afficher le contenu d'un fichier ligne par ligne.
- Créer un système de journalisation (log) avec date/heure.
- Écrire un script qui supprime un fichier via un bouton.
9. À retenir
- PHP permet de lire, écrire, supprimer et tester des fichiers.
fopen()+fread()/fwrite()permettent un contrôle fin.file_get_contents()etfile_put_contents()sont simples à utiliser.- Bien vérifier les droits d'écriture du dossier sur le serveur.
10. Ce que vous apprendrez ensuite
Dans le chapitre 15, vous découvrirez la programmation orientée objet (POO) avec PHP. Vous apprendrez à structurer votre code avec des classes, objets, constructeurs, propriétés et méthodes.