furious Gontran Posté 2 Novembre 2004 Posté 2 Novembre 2004 (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é 2 Novembre 2004 par furious Gontran
K-ZimiR Posté 2 Novembre 2004 Posté 2 Novembre 2004 (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é 2 Novembre 2004 par K-ZimiR
xorax Posté 2 Novembre 2004 Posté 2 Novembre 2004 $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.
furious Gontran Posté 3 Novembre 2004 Auteur Posté 3 Novembre 2004 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...
Anonymus Posté 3 Novembre 2004 Posté 3 Novembre 2004 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.
furious Gontran Posté 12 Novembre 2004 Auteur Posté 12 Novembre 2004 En fait le mieux c'est : fwrite($Fichier,"/n".$Ligne); Le retour de ligne se place alors avant ma ligne et evite la ligne blanvhe en fin de fichier txt.
Vincent Posté 12 Novembre 2004 Posté 12 Novembre 2004 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...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant