je dois générer un fichier texte d'export. Les enregistrements doivent
être séparés par RC NL (0D 0A).
Donc, dans mon script php je fais un :
$enr="champs formatés\r\n";
fwrite($fic,$enr);
Si j'ouvre mon fichier txt avec un éditeur hexa, c'est ok, j'ai 0D 0A
comme séparateur.
Le problème c'est que ça marche sur ma config (win XP, wamp5) si le
fichier est généré par mon client (win NT, easyphp 1.6) je me retrouve
avec 0D 0D 0A comme séparateur ! Comme si le fwrite ajoutait lui même un
0D !
Le comportement des fichiers textes est-il différent entre php4 et 5 ?
Une piste ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
je dois générer un fichier texte d'export. Les enregistrements doivent être séparés par RC NL (0D 0A). Donc, dans mon script php je fais un :
$enr="champs formatésrn"; fwrite($fic,$enr);
Si j'ouvre mon fichier txt avec un éditeur hexa, c'est ok, j'ai 0D 0A comme séparateur.
Le problème c'est que ça marche sur ma config (win XP, wamp5) si le fichier est généré par mon client (win NT, easyphp 1.6) je me retrouve avec 0D 0D 0A comme séparateur ! Comme si le fwrite ajoutait lui même un 0D !
Le comportement des fichiers textes est-il différent entre php4 et 5 ?
Le comportement *par défaut* est différent depuis PHP 4.3.2 :
<cit. http://www.php.net/manual/fr/function.fopen.php> Note : Depuis PHP 4.3.2, le mode par défaut est le mode binaire pour toutes les plates-formes qui font la distinction entre les modes binaire et texte. Si vous rencontrez des problèmes dans vos scripts après une mise à jour, essayez d'utiliser le flag 't' en attendant que vous rendiez votre script plus portable comme mentionné ci-dessous. </cit.>
De deux choses l'une : soit tu ouvres tes fichiers avec l'option 't' et tu n'écris que n, soit tu les ouvres avec l'option 'b' et tu écris rn. Sur Windows, il faut toujours préciser l'une des deux options pour ne pas avoir de problème.
je dois générer un fichier texte d'export. Les enregistrements doivent
être séparés par RC NL (0D 0A).
Donc, dans mon script php je fais un :
$enr="champs formatésrn";
fwrite($fic,$enr);
Si j'ouvre mon fichier txt avec un éditeur hexa, c'est ok, j'ai 0D 0A
comme séparateur.
Le problème c'est que ça marche sur ma config (win XP, wamp5) si le
fichier est généré par mon client (win NT, easyphp 1.6) je me retrouve
avec 0D 0D 0A comme séparateur ! Comme si le fwrite ajoutait lui même un
0D !
Le comportement des fichiers textes est-il différent entre php4 et 5 ?
Le comportement *par défaut* est différent depuis PHP 4.3.2 :
<cit. http://www.php.net/manual/fr/function.fopen.php>
Note : Depuis PHP 4.3.2, le mode par défaut est le mode binaire pour
toutes les plates-formes qui font la distinction entre les modes binaire
et texte. Si vous rencontrez des problèmes dans vos scripts après une
mise à jour, essayez d'utiliser le flag 't' en attendant que vous
rendiez votre script plus portable comme mentionné ci-dessous.
</cit.>
De deux choses l'une : soit tu ouvres tes fichiers avec l'option 't'
et tu n'écris que n, soit tu les ouvres avec l'option 'b' et tu écris
rn. Sur Windows, il faut toujours préciser l'une des deux options pour
ne pas avoir de problème.
je dois générer un fichier texte d'export. Les enregistrements doivent être séparés par RC NL (0D 0A). Donc, dans mon script php je fais un :
$enr="champs formatésrn"; fwrite($fic,$enr);
Si j'ouvre mon fichier txt avec un éditeur hexa, c'est ok, j'ai 0D 0A comme séparateur.
Le problème c'est que ça marche sur ma config (win XP, wamp5) si le fichier est généré par mon client (win NT, easyphp 1.6) je me retrouve avec 0D 0D 0A comme séparateur ! Comme si le fwrite ajoutait lui même un 0D !
Le comportement des fichiers textes est-il différent entre php4 et 5 ?
Le comportement *par défaut* est différent depuis PHP 4.3.2 :
<cit. http://www.php.net/manual/fr/function.fopen.php> Note : Depuis PHP 4.3.2, le mode par défaut est le mode binaire pour toutes les plates-formes qui font la distinction entre les modes binaire et texte. Si vous rencontrez des problèmes dans vos scripts après une mise à jour, essayez d'utiliser le flag 't' en attendant que vous rendiez votre script plus portable comme mentionné ci-dessous. </cit.>
De deux choses l'une : soit tu ouvres tes fichiers avec l'option 't' et tu n'écris que n, soit tu les ouvres avec l'option 'b' et tu écris rn. Sur Windows, il faut toujours préciser l'une des deux options pour ne pas avoir de problème.