"/n" ne fonctionne pas...

Eléphant du PHP | 101 Messages

29 juil. 2005, 17:35

Salut à tous,
J'ai un petit problème et je ne sais pas d'ou çà vient, je souhaite exporter des commandes clients dans un fichier text ($fp) mais dans le fichier teste "/n" est représenté par un carré blanc, et il n'y pas le retour à la ligne qui devrais se faire...
$outputstring = $date."\t".$qttpasta." pasta\t".$qttpane." pane\t".$qttpiselli." piselli\t€".$totalsoldi."\t".$indirizzo."\n";

fwrite($fp, $outputstring);
Quelqu'un peut-il m'aider?
Merci d'avance!!
A+
nan!

ViPHP
ViPHP | 1380 Messages

29 juil. 2005, 17:52

Windows "\r\n"
Linux "\n"
ripat

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

29 juil. 2005, 18:19

Avec fopen, \n suffit.

Mais si tu as un carré blanc, c'est qu'il faut que tu changes d'éditeur de texte, ton bloc note n'est pas suffisant

Essaye, notepad
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Invité
Invité n'ayant pas de compte PHPfrance

30 juil. 2005, 22:07

Avec fopen, \n suffit.

Mais si tu as un carré blanc, c'est qu'il faut que tu changes d'éditeur de texte, ton bloc note n'est pas suffisant

Essaye, notepad
Hmmm, pas certain. Je dirais plus comme Ripat que cela dépend du système d'exploitation et non de la fonction utilisée. Je tourne sous FreeBSD à la maisons et \n suffit, tandis qu'au travail, je dois utiliser \r\n pour avoir les retours de lignes (dans bloc-note par exemple).

Eléphanteau du PHP | 22 Messages

30 juil. 2005, 22:11

Grrr il semble que mon navigateur n'ait pas gardé son cookie assez longtemps. Peu importe.

Je remarque aussi troudball que tu fais /n au lieu de \n. N'oublie pas qu'il faut utiliser des anti-slashs pour avoir l'effet de la séquence d'échapement.
"Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius -- and a lot of courage -- to move in the opposite direction."

Eléphant du PHP | 101 Messages

01 août 2005, 10:12

Salut à tous et merci pour vos réponses :

Petite précision, je suis sur windows XP...(et oui, je sais...)

Alors faisons le point :
si je fais /n au lieu de \n, \n est considéré comme chaine de caractère, donc s'affiche et donc pas de retourligne...

\r\n, en fait fonctionne très bien!!! le retour à la ligne se fait comme prévu!
Mais dites moi... çà ne va pas me poser des problèmes de portabilité si je met mon projet sur un serveur Linux?

D'autre part, j'ai remarqué des choses bizarre :

premièrement, les tabulations n'ont pas toutes la meme longueur (des fois deux champs ne se retrouve séparés que par un espace...?).
De meme les tabulations ne s'affiche pas de la meme manière (toujours au niveau de la longueur) en fonction du programme avec le quel j'ouvre le fichier texte...

Deuxièmement et c'est un peu plus chiant : il y a un décalage au niveau des tabulations si pour un meme champs (sur deux commandes différentes) le nombre saisi est à 1,2 ou 3 (ou +) chiffres.

exemple :

Code : Tout sélectionner

09:58, 1st August 123 pasta 456 pane 789 piselli €20016 12345 09:58, 1st August 789 pasta 456 pane 123 piselli €83952 45685 10:11, 1st August 45 pasta 45 pane 98 piselli €5342 45985
Lexique Italien...
pasta = pates
pane = pain
piselli = petit pois (çà veut aussi dire zizi :lol: )

Merci d'avance pour votre aide!!

A+
nan!

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 août 2005, 10:23

  1. premièrement, les tabulations n'ont pas toutes la meme longueur (des fois deux champs ne se retrouve séparés que par un espace...?).
    De meme les tabulations ne s'affiche pas de la meme manière (toujours au niveau de la longueur) en fonction du programme avec le quel j'ouvre le fichier texte...
  2. Deuxièmement et c'est un peu plus chiant : il y a un décalage au niveau des tabulations si pour un meme champs (sur deux commandes différentes) le nombre saisi est à 1,2 ou 3 (ou +) chiffres.
Pour le 1er: ben oui certains programmes convertissent els tabulations en espaces, comme c'est gentil à eux. Cela se règle dans les Préférences en général.
Pour le 2e souci : en quoi ça te gêne finalement ?
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 101 Messages

01 août 2005, 10:48

pour la deuxième, c'est juste pour une question de visibilité mais c'est vrai que dans le fond, c'est pas un gros problème...

pour la première, est-ce normal que dans un meme programme, une fois la tabulation est un espace, plus d'un espace (variable...)?

Enfin peutx-tu m'en dire un peu plus sur :
si je fais /n au lieu de \n, \n est considéré comme chaine de caractère, donc s'affiche et donc pas de retourligne...

\r\n, en fait fonctionne très bien!!! le retour à la ligne se fait comme prévu!
Mais dites moi... çà ne va pas me poser des problèmes de portabilité si je met mon projet sur un serveur Linux?
Merci
A+
nan!

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 août 2005, 10:51

Pour le serveur Linux, si tu utilises les retours à la ligne tout ira bien, je crois.

Pour les programmes, cela se règle dans les Préférences, je t'ai dit. ET c'est pas "normal", c'est "comme ça" et c'est pénible.
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.

Eléphant du PHP | 101 Messages

01 août 2005, 12:43

oui mais les retours de ligne /r/n fonctionnent aussi sous Linux? sinon je dois utiliser /n mais çà ne fonctionne pas sur mon sistème windows... :(
nan!

Mammouth du PHP | 19672 Messages

01 août 2005, 14:22

Ça ne fonctionnera pas du tout tant que tu confondras "/" et "\"
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

01 août 2005, 14:39

Ça ne fonctionnera pas du tout tant que tu confondras "/" et ""
Je n'osais pas le dire :oops:

Mammouth du PHP | 19672 Messages

01 août 2005, 14:54

Ça ne fonctionnera pas du tout tant que tu confondras "/" et ""
Je n'osais pas le dire :oops:
Ose mere-teresa, ose sans retenue :langue:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 101 Messages

01 août 2005, 15:44

j'ai pourtant essayé /n et \n, avec ou sans guillemets simples ou doubles... quel est la syntaxe exacte?
nan!

Mammouth du PHP | 543 Messages

01 août 2005, 15:47

echo "Ligne 1\nLigne 2";