Colle de chez colle avec fgets
Bien le bonjour tout le monde
bon, je ne vais pas y aller par 4 chemins, j'ai retourné le pb dans tous les sens et je n'ai absolument aucune réponse....
j'explique
je suis en train de faire un "analyseur de log d'un jeu", je touche presque au but...
donc
Code:
1 2 3 4 5
| while(!feof($fichier))
{
$lignefichier[$nblignes] = fgets($fichier,4096); //chaque ligne est stockée dans le tableau '$lignefichier'
$nblignes++; //et on en profite pour calculer le nombre de ligne
} |
j'ouvre le fichier, le lis, le stocke dans un tableau, tout ça, c'est OK
au moment de la restitution du tableau, j'ai quelques désagréables surprises :
Je fais ça :
Code:
1 2 3 4 5
| while($lignedebutpartie < $lignefinpartie)
{
echo "<br>".$lignefichier[$lignedebutpartie]."<br>";
$lignedebutpartie++;
} |
jusque là rien de méchant, car le tableau est restitué integralement
mais, dans le log, certaines lignes sont bonnes, ex :
L 08/27/2009 - 20:53:30: (SKIN) Survivor Louis changed model from models/survivors/survivor_manager.mdl to models/survivors/survivor_manager.mdl via HandleCommand_JoinTeam
(bien longue)
mais celle là ne passe pas :
Citation:
L 08/27/2009 - 20:53:30: "Bill<4><BOT><>" connected, address "none"
elle est restituée comme cela :
Citation:
L 08/27/2009 - 20:53:30: "Bill<4><>" connected, address "none"
et celle là (encore pire) :
Citation:
L 08/27/2009 - 20:53:30: "Bill<4><BOT><Survivor><NamVet><ALIVE><100+0><setpos_exact -7978.12 -15060.50 345.99; setang 0.00 -178.00 0.00><Area 67047>" spawned
comme ça :
Citation:
L 08/27/2009 - 20:53:30: "Bill<4><100+0>" spawned
Alors, question, à quoi est ce dû ? ce n'est ni la longueur (les longues lignes passent, voir au dessus), ni les majuscules (Bill a une majuscule et ça passe).
En plus, ça a l'air d'être raccourci au centre de la phrase...
Merci à celui qui trouve, car là je cale.......
Bonne journée