PHP enregistrement incorrect dans fichier

Fermé
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 20 avril 2009 à 18:27
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 - 22 avril 2009 à 18:52
Bonjour,
Ce petit code placé dans ma page index.php me permet de suivre les visites sur mon site :

-------------------------------------------------
$fichier = './datas.txt';
$fp = fopen($fichier, 'a');
$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 :

---------------------------------------------------------------
67 visiteurs dont 1 le 14 Avril 2009 01:18:34

69 visiteurs dont 3 le 14 Avril 2009 09:21:07
----------------------------------------------------------------

Pourriez-vous m'aider à comprendre pourquoi la visite n° 2 de la journée se traduit par une suite de carrés ?
J'ai d'abord pensé à ma variable $retour qui pourrait ne pas être adaptée à tous les systèmes (linux, unix, windows,...). J'ai essayé \r\n. Mais le problème persiste. J'ai aussi essayé $fp = fopen($fichier, 'a');. Rien n'y fait.
Autre remarque : ce phénomène se produit chez mon hébergeur sfr mais ne se produit pas chez mon hébergeur free.
Je vous remercie de m'aider à résoudre ce problème.
A voir également:

6 réponses

Utilisateur anonyme
21 avril 2009 à 09:21
l'un serait il meilleur que l autre :)
non je pense que la différence vient d'une configuration du serveur
pour resoudre ton probleme il faudrait la totalité de ton code
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
21 avril 2009 à 18:11
Merci de votre réponse. Je ne peux guère vous en donner plus. Seul le petit code copié dans le message précédent écrit la valeur des variables et les textes dans le fichier datas.txt.

Les enregistrements ne sont pas réguliers. Je peux très bien obtenir 2 enregistrements corrects, puis 1 incorrect, comme je peux obtenir 1 correct puis 1 incorrect. Parfois aussi, et sans que j'ai trouvé de la régularité, le dernier enregistrement efface le précédent !

Très souvent j'obtiens une suite de 11 à 100 carrés environ au début d'un enregistrement.
0
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
21 avril 2009 à 18:26
Bonjour,

Je ne vois aucun problème dans ton code.

Est-ce que ton éditeur ouvre-t-il le fichier dans le même encodage que celui de la page (dans Firefox : Affichage → Encodage des caractères ou dans la balise META). Il faut que l'encodage que donne Firefox (Tu peux le voir aussi avec IE) corresponde à celui de la balise META (à vérifie sur SFR). Lorsque tu enregistres ton fichier PHP, vérifie bien que tu l'enregistre dans le même encodage que celui que tu as dans la balise META.

Si le problème ne vient pas de là, il vient sans doute du serveur SFR.
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
21 avril 2009 à 18:38
Merci de votre aide.

Je comprendrais que quelques caractères (les lettres accentuées par exemple) ne passent pas si l'encodage n'était pas le bon. Mais que des enregistrements complets composés principalement de lettres simples reconnues par tous les encodage (a, b, c, d, ...) n'apparaissent pas, ne serait-ce qu'en partie, là ça m'échappe. D'autre part, des enregistrements comportant des lettres spéciales (é, è, ç, à, ...) passent très bien. je comprendrais que tout s'affiche bien ou que tout s'affiche mal. Mais que parfois ça s'affiche bien et parfois mal, j'ai du mal à comprendre cette fantaisie venant d'une machine.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19249 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 15 juin 2024 4 505
21 avril 2009 à 18:48
De toutes façon le problème ne vient pas de toi si il n'y a aucun problème avec Free donc tu ne peux rien y faire.
0
dimi3 Messages postés 269 Date d'inscription mercredi 7 novembre 2007 Statut Membre Dernière intervention 1 avril 2011 20
22 avril 2009 à 18:52
Oui, le problème vient en effet du serveur sfr. J'ai changé d'hébergeur et tout fonctionne bien.
0