Aller au contenu

Fichier texte et retour de ligne


Sujets conseillés

Posté (modifié)

Voici mon code:

$Ligne= "$Date|$Nom|$Adresse";

echo "LIGNE:".$Ligne."<br>";

$Fichier= fopen("Dates.txt","a+");

fwrite($Fichier,"$Ligne");

fwrite($Fichier,"\n");

fclose($Fichier);

Le\n

me sers pour separer mes lignes afin que le programme d'affichage ne me colle pas tout le texte d'un coup mais ligne par ligne.

Cependant ca me pose un probleme car lors de l'affichage je me retoruve avec une ligne vide...

Y'a t'il une astuce autre qu'un test if pour me sortir de ca ?

Modifié par furious Gontran
Posté (modifié)

J'essayerais ça :

$Ligne= "$Date|$Nom|$Adresse";
echo "LIGNE:".$Ligne."<br />";
$Fichier= fopen("Dates.txt","a+");
fwrite($Fichier,"$Ligne \n");
fclose($Fichier);

Je n'ai pas testé, mais dis-moi quoi ;)

Modifié par K-ZimiR
Posté

$Ligne= "$Date|$Nom|$Adresse";
echo "LIGNE:".$Ligne."<br />";
$saut="
";
$Fichier= fopen("Dates.txt","a+");
fwrite($Fichier,"$Ligne $saut");
fclose($Fichier);

moi je mettrais ça tout connement.

tout comme la fonction nl2br() ajoute des <br /> la où il voit des sauts de lignes.

Posté

Merci les gars pour ces idées !!!

Le br marche aussi pour les fichiers texte ??

Je pensais que ce n'etait que de l'HTML...

Ok je vais tester tout ca, mais le probleme me semble rester le meme, non ?

puisque je me retrouve a chaque fois avec une ligne vide en fin de fichier ce qui provoque l'affichage d'un ligne vide...

Peut etre faut il que je teste a l'affichage pour supprimer les lignes vides...

Posté

La bonne 'formule' est effectivement celle ci :

fwrite($Fichier,$Ligne." \n");

Là où tu faisais une erreur, c'est en ajoutant (mode 'a+') la ligne, puis une nouvelle ligne. Cette nouvelle ligne était en fait créée sur une nouvelle ligne (également), ce qui produit un saut de ligne (CQFD).

Il faut donc enregister la ligne, et le caractère \n en même temps, et non en 2 fois.

Le BR ne marche pas pour les fichiers texte, ce n'est pas un caractère spécial. Il s'affichera tel quel dans le fichier texte.

Par contre, pour afficher à l'écran, tu auras effectivement besoin du nl2br(), pour formater ton texte en html.

Pour info, il faut utiliser \n\r si tu veux essayer sous 'windows', ce qui signifie (on se cramponne) : NouvelleLigne,SautAlaLigne.. et qui aura pour effet de mettre sur une nouvelle ligne. Ceci n'ayant pas d'incidences sur les fichiers unix, autant le mettre à chaque fois. ;)

  • 2 semaines plus tard...
Posté

attention, tu t'es trompé de sens pour le slash / antislash :

fwrite($Fichier,"\n".$Ligne);

2e chose, le jour ou tu aura un nouveau fichier, il commencera par une ligne vide...

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...