OVH Cloud OVH Cloud

terminer un fichier texte

6 réponses
Avatar
thierry.rouillon
Bonjour.
Je fonctionne sous linux et doit générer un fichier "ecriture.txt" sous
windows

La création ne pose pas de problème

$fp =fopen('ecriture.txt',a,1); // ouvert en ecriture
if(!$fp) die('creation du fichier impossible.</body></html>');// echec
creation fichier: on sort.

Dans une boucle while j'ecris bien ligne par ligne le contenu d'une table
mysql en ajoutant à la fin \r\n

$ecriture=$date_ebp.';'.$jo.';'.$ref_cpt_ebp.';"'.$designatio.'";"'.
$num_piece.'";'.$total_ebp.';'.$sensEBP.'\r\n' ;
fwrite($fp,$ecriture);

Puis à la fin je ferme le fichier.
fclose($fp);

Tout me semble correcte mais quand je relis le fichier texte les'\r\n' sont
lisibles et ne font pas de retour à la ligne.
Là, je ne comprend pas pourquoi.
Quelqu'un aurait-il une petite solution? Merci.

--
Thierry de Champagne.

6 réponses

Avatar
dominique
thierry.rouillon wrote:
$num_piece.'";'.$total_ebp.';'.$sensEBP.'rn' ;


il ne faut pas mettre rn entre ' mais en "
Tout ce qui se trouve entre ' n'est pas interprete, c'est a dire que que
r n'est pas interprete en retour en debut de ligne et n retour chariot
mais comme des caracteres distincts : suivi de r et suivi de n

--
Dom

Avatar
Edouard Guerin
Bonjour,

les séquences d'échappement doivent être utilisées avec des doubles quote.
Ce qui donne :

$ecriture=$date_ebp.';'.$jo.';'.$ref_cpt_ebp.';"'.$designatio.'";"'.
$num_piece.'";'.$total_ebp.';'.$sensEBP."rn";
fwrite($fp,$ecriture);

@+

--
Edouard Guérin
http://www.icitrus.net
Avatar
[ Psykokwak ]
a la place de :
$num_piece.'";'.$total_ebp.';'.$sensEBP.'rn' ;

$num_piece.";".$total_ebp.";".$sensEBP."rn" ;

:)
Avatar
CrazyCat
thierry.rouillon wrote:
imho, cela vient de tes " et ': ça doit finir par faire une erreur :)

$ecriture=$date_ebp.';'.$jo.';'.$ref_cpt_ebp.';"'.$designatio.'";"'.
$num_piece.'";'.$total_ebp.';'.$sensEBP.'rn' ;
$ecriture $date_ebp.";".$jo.";".$ref_cpt_ebp.";"".$designation."";".$num_piece.";".$

total_ebp.";".$sensEBP."rn";

fwrite($fp,$ecriture);
essayes plutot avec fputs($fp, $ecriture); si le probleme persiste.

--
CrazyCat from C-P-F.org

Avatar
Salagir
On 10 Sep 2003 21:32:36 GMT, in fr.comp.lang.php,
thierry.rouillon wrote:
$num_piece.'";'.$total_ebp.';'.$sensEBP.'rn' ;
Tout me semble correcte mais quand je relis le fichier texte les'rn' sont
lisibles et ne font pas de retour à la ligne.
Là, je ne comprend pas pourquoi.


Parce que 'rn' demande d'écrire un antislash, un r, un antislash, un n.

Pour que ca marche, utilise: "rn"

--
++++++++ Zelda, Dragon Ball, Mana and my (art)work at www.salagir.com ++++++++
http://www.lapin.org/episodes61-90/episode88.html
-+- Les ordinateurs sont sadiques dans www.lapin.org -+-

Avatar
thierry.rouillon
Christian nous a gentiment écrit:

ligne" et "retour chariot" (comme si il yavait encore un chariot, pfff !)
il faut les metre entre "" et non pas entre ''.

C'est tout

Christian


Arg. Ce n'est pas la premiere fois que je me fais pieger avec la
ponctuation... Merci à tous.
--
Thierry de Champagne.