Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1459 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Retour chariot et fichier texte => \n ne marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Retour chariot et fichier texte => \n ne marche pas

n°1794164
erwan83
Du Shift DEL tu te méfieras !
Posté le 01-10-2008 à 06:34:11  profilanswer
 

Code :
  1. $fichier = fopen($format, 'b');
  2.  fwrite ($fichier, "ligne 1\n" );
  3.  $retour = "\n";
  4.  fwrite ($fichier, $retour);
  5.  fwrite ($fichier, "\n" );        // j'insiste hein ?
  6.  fwrite ($fichier, "ligne 2\n" );


 
résultat :
 
ligne 1ligne 2
 
pourquoi ça marche pas ?


---------------
http://www.ypikay.com
mood
Publicité
Posté le 01-10-2008 à 06:34:11  profilanswer
 

n°1794166
erwan83
Du Shift DEL tu te méfieras !
Posté le 01-10-2008 à 06:47:51  profilanswer
 

bon j'ai trouvé en chercant un peu trop longtemps...
$r = chr(13);
fwrite ($fichier, $r);


---------------
http://www.ypikay.com
n°1794253
omega2
Posté le 01-10-2008 à 10:54:53  profilanswer
 

De mémoire :

  • changement de ligne windows = CRLF ( "Carriage Return"/retour chariot & "Line Feed"/saut de ligne) soit les caractères de code 10 et 13 : "\r\n"  
  • changement de ligne linux = LF  ( "Line Feed"/saut de ligne) soit le caractère de code 13 : "\n"  
  • changement de ligne macOS : CR  ( "Carriage Return"/retour chariot ) soit le caractère de code 10 : "\r"


Il est donc bizare que ça marche avec un char(13) et pas un "\n" qui représentent le même caractère.
 
PS : On ouvre un fichier avec en mode "b" quand on veut écrire des données binaires dans le fichier. Si t'écris du texte il faut choisir un des modes suivant "a", "a+", "w", "w+", "x" ou "x+". A la réflexion, ça peut venir de là ton problème.


Message édité par omega2 le 01-10-2008 à 11:03:46
n°1794734
erwan83
Du Shift DEL tu te méfieras !
Posté le 02-10-2008 à 11:04:56  profilanswer
 

non j'avais essayé en mode w avant
bizarre


---------------
http://www.ypikay.com
n°1953591
littleg322
Posté le 29-12-2009 à 12:27:48  profilanswer
 

hello
j'ai eu les mêmes difficultés et voici les points à faire attention:
le single quote 'valeur' => pourrait être de n'importe quel type (string ou ...)
ici ton texte est du type string => forcer la valeur en string en utilisant les doubles quotes "mon texte \n" ce qui va forcer php à convertir \n en CR.
si on laisse les singles quotes, on risque fort d'afficher le \n !!
pour être sûr d'envoyer du texte à ton fichier, mon petit truc:
 
fwrite($fichier, "".$variable_mon_texte."" ); =>  
 
double+double+point+$var+point+double+double :pt1cable:  
si $var est d'un autre type (numerique,...) il deviendra de type string
 
de plus, pour les Windowsiens, utilisez Wordpad (ou notepad++) et pas le bloc-note
pour visualiser votre texte, vous comprendrez vite!
Là, j'ai pas d'explications quand au comportement du bloc-note... :??:  
 
le mode est à transmettre en type string => double quote "mode" et tous sauf le binaire "b" of course !!


Message édité par littleg322 le 29-12-2009 à 12:39:48
n°1953687
shadok123
Posté le 29-12-2009 à 16:03:21  profilanswer
 

pour un retour à la ligne, la constante PHP_EOL est votre amie


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Retour chariot et fichier texte => \n ne marche pas

 

Sujets relatifs
VBS : Renommer un fichier à la date du jour"Menu" séparé de mes fichier HTML
lecture et écriture dans un fichier texte en vbsPas de retour si count = 0
Impossible de lancer un fichier .jar sous vista#TEXTE et #CHAPO qui ne s'affiche pas SPIP
[ASPX] [C#] Chercher et afficher une ligne dans un fichier Exceléditer un fichier de config en shell
Rechercher un nom dans un fichier 
Plus de sujets relatifs à : Retour chariot et fichier texte => \n ne marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR