Mais ne met rien dans ton fichier texte :)
Quand tu veux sauter une ligne, tu n'ecris pas un \n ou un dans un fichier texte, tu appuies seulement sur ta touche Entrée :)
Et quand tu appuies sur "Entrée", toi tu ne vois rien.
Mais le systeme lui, comment il sait que tu as sauté une ligne à tel endroit ?
Il le sait parce que au moment où tu as appuyé sur ta touche Entrée, ben il a mis un "signe" lui permettant de se souvenir que c'est la qu'il doit aller à la ligne.
Ce signe, ca s'appelle un line feed.
C'est un caractère "special" qui ne se "voit pas" quand on ouvre le fichier texte à la main.
Cependant, quand tu l'ouvres avec PHP, PHP le voit.
Et il voit un \n à chaqe saut de ligne.
Donc en utilisant la fonction nl2br, PHP va remplacer tout les \n qu'il va rencontrer par des (balise qui permet le saut de ligne en html).
Petit exemple basique :
<?php
echo "toto vive la fete";
echo "toto\n vive la fete";
?>
Si tu executes ses deux codes, a priori, tu ne verras aucune différence sur ta page.
Seulement, si tu affiches le code source de ta page, tu verras que le résultat est différent : dans le premier cas, tout est sur une ligne, dans le deuxième, il y a un saut de ligne (à cause du line feed \n).
Esnuite, teste ceci :
<?php
$test = "titi\ntata";
echo $test;
echo nl2br ($test);
?>
Tu verras dans le deuxième exemple que PHP aura remplacé le line feed (\n) par une balise et que cela affichera un saut de ligne sur la page "html" générée.