suite de carrés dans un fichier txt

Eléphant du PHP | 58 Messages

14 avr. 2009, 17:03

Bonjour,
Ce petit code placé dans ma page index.php me permet de suivre les visites sur mon site :

Code : Tout sélectionner

$fichier = './datas.txt'; $fp = fopen($fichier, 'ab'); $retour = "\n"; fputs($fp, $retour.$nb_visiteurs." visiteurs dont ".$nb_aujourdhui." le ".$date.$retour); fclose($fp);
Voici ce que j'obtiens dans le fichier datas.txt :

Code : Tout sélectionner

67 visiteurs dont 1 le 14 Avril 2009 01:18:34

ViPHP
ViPHP | 3607 Messages

14 avr. 2009, 20:22

A tout hasard, essaye de remplacer ton "\n" par PHP_EOL ... ?
Mais je doute que le problème vienne de là...

Eléphant du PHP | 58 Messages

15 avr. 2009, 09:26

A tout hasard, essaye de remplacer ton "\n" par PHP_EOL ... ?
Mais je doute que le problème vienne de là...
PHP_EOL n'a pas résolu mon problème.
Ce qui est surprenant, c'est que le résultat est irrégulier : parfois l'enregistrement de la dernière visite est lisible, parfois il se transforme en une suite de carrés !

Eléphant du PHP | 58 Messages

16 avr. 2009, 09:47

J'abandonne. Je ferai autrement.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

16 avr. 2009, 09:57

Je te propose d'essayer ça :
- ouverture du fichier en mode 'a' et non 'ab'
- suppression de ton $retour
$fichier = 'datas.txt';
$fp      = fopen($fichier, 'a');
$ligne   = $nb_visiteurs.' visiteurs, dont '.$nb_aujourdhui.' le '.$date;
fputs($fp, $ligne);
fclose($fp);

Eléphant du PHP | 58 Messages

17 avr. 2009, 20:24

Rien n'y fait. Mystères de l'informatique ! :oops:

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 avr. 2009, 11:25

As-tu précisé un encodage : UTF-8 ou ISO-8859 ?

Eléphant du PHP | 58 Messages

18 avr. 2009, 13:01

Si c'était un problème d'encodage, le problème serait habituel, régulier. Or, là, ça me paraît aléatoire. Je ne parviens pas à savoir pourquoi un enregistrement se fait correctement tandis qu'un autre devient une suite de carrés. j'ai imprimé mon fichier texte sur le mois pour l'étudier de plus près et voir des constantes. mais rien n'est constant, tout paraît fantaisiste. Et c'est ça qui me désoriente. Je peux avoir 2 enregistrements corrects, puis 1 incorrect, comme je peux avoir 3 incorrects et un correct. D'autre part le nombre de carrés est très variable . Cela va de 22 carrés à 111 !

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

18 avr. 2009, 13:20

Je ne vois qu'une solution : exorciser ta bécane. :shock:

Eléphant du PHP | 58 Messages

18 avr. 2009, 13:27

Le problème vient du serveur sfr. J'ai changé d'hébergeur et tout fonctionne normalement.