[ PHP ] Pb LF vs. CRLF a la lecture/ecriture de fichiers

Pb LF vs. CRLF a la lecture/ecriture de fichiers [ PHP ] - PHP - Programmation

Marsh Posté le 11-05-2002 à 08:41:28    

Je debute en PHP et je dois faire un programme qui va lire un fichier , faire des trucs avec ce qu'il a lu et ecrire le resultat dans un autre fichier (classique, quoi!)
Une fois ce nouveau fichier genere, un programme externe va le lire et faire des trucs avec...
 
Le pb est que les sauts de lignes du fichier en entree sont des LF (#10) et pour une raison que j'ignore, les  sauts de lignes du fichier en sortie deviennent des CRLF (#13#10) :??:
Bien evidemment, le programme externe n'aime pas les CRLF et se met a déconner :(
 
J'ai donc refait un petit programme tout simple qui ne fait que lire un fichier et ecrire ce qu'il a lu dans un autre fichier:


(pour voir les diffs, faire un "Sauver la cible" et ouvrer le fichier avec votre editeur hexa prefere)
 
Voila mon code:

Code :
  1. <html>
  2. <body>
  3. <?
  4.   $filepath ="c:\\test.txt";
  5.   $fp = fopen ($filepath, "r" );
  6.   $content = fread ($fp, filesize ($filepath));
  7.   fclose ($fp);
  8.  
  9.   echo  "<pre>$content</pre><br>";
  10.  
  11.   $fp = fopen("$filepath.new.txt", "w" );
  12.   fwrite($fp, $content, strlen($content));
  13.   fclose ($fp);
  14.   echo "c'est fait"
  15. ?>
  16. </body>
  17. </html>


 
j'ai loupé un episode ou cette conversion LF en CRLF est une fonctionnalité de PHP ?!?
 
ah oui et  j utilise EasyPHP 1.6.0.0 (Apache/1.3.24 (Win32) PHP/4.2.0) sous Win2k (je ne sais pas si ca a son importance)

 

[jfdsdjhfuetppo]--Message édité par JWhy le 23-05-2002 à 00:47:54--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Marsh Posté le 11-05-2002 à 08:41:28   

Reply

Marsh Posté le 11-05-2002 à 08:53:04    

rhaa le con...3h que je planche la dessus: php.net, google.com, etc.. etc... rien trouvé !
 
juste apres avoir posté, je retourne voir le manuel PHP, histoire de me donner bonne conscience et je tombe la dessus dans l'aide de fopen (aide que j'ai du lire une bonne dizaine de fois ce soir !):

Code :
  1. Note: The mode may contain the letter 'b'. This is useful only on systems which differentiate between binary and text files (i.e. Windows. It's useless on Unix). If not needed, this will be ignored.


 
bien evidemment rajouter le b dans le mode d'ouverture du fichier a resolu mon probleme  :sarcastic:

 

[jfdsdjhfuetppo]--Message édité par JWhy le 11-05-2002 à 09:40:29--[/jfdsdjhfuetppo]


---------------
www.alliancefrancophone.org ... Home is where the heart is
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed