[PHP] Problème de lecture d'un fichier

Fermé
Brayce Messages postés 5 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 14 avril 2009 - 14 mars 2009 à 19:15
Brayce Messages postés 5 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 14 avril 2009 - 15 mars 2009 à 14:52
Bonjour,

J'ai un gros souci qui m'agace car je ne trouve pas de solution.

J'ai une fonction qui lit ligne à ligne un fichier texte.
Malheureusement, quand j'affiche les lignes, sous Firefox, un point d'interrogation vient s'ajouter après chaque caractères et sous IE, il affiche deux fois moins de caractères (même phénomène que sous Firefox avec l'affichage des ? en moins).

Voici comment je procède :

1/ Upload du fichier via un formulaire :
<form name="frmImportSMS" method="post" action="" enctype="multipart/form-data">
<input type="hidden" name="telephone" value="<?php echo $telephone?>"/>
<input type="hidden" name="flux" value="<?php echo $flux?>"/>
<fieldset>
<legend>Import SMS</legend>
<table cellspacing="1" cellpadding="1" border="0">
<tr>
<td><label for="fichierId">Fichier à importer :</label></td>
<td>
<input type="file" id="fichierId" name="fichier" size="100" class="inputText">
</td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" name="submitImportSMS" value="Importer" class="inputBouton">
<input type="submit" name="submitAnnulerImport" value="Annuler" class="inputBouton">
</td>
</tr>
</table>
</fieldset>
</form>

2/ Je récupère les informations et les traite comme suit :
// Ouverture du fichier pour lecture des données
$handle = fopen($dirFilesIn.$_SESSION["rep_env"].$_SESSION["fichier_sms_import"],"r");
if (!$handle)
return "Erreur lors de l'ouverture du fichier...";

// On récupère l'en-tête
$buffer = fgets($handle, 10);
echo "buffer:$buffer<br>";

fclose ($handle);

Au niveau de l'affichage (echo $buffer), j'obtiens alors, pour les 10 premiers caractères de la première ligne du fichier :
ÿþS�o�n�y
Au lieu de : Sony Erics

Après de nombreuses recherches ici et ailleurs, je ne trouve rien !!!

Donc je crie à l'aide car je risque de m'arracher les cheveux si ça continue !!!...

Merci d'avance pour vos réponses.

PS : pour info, sur ma page principale, j'ai bien déclaré le meta :
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
A voir également:

6 réponses

DarkRodWarrior Messages postés 1755 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 18 mai 2010 91
14 mars 2009 à 21:58
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

Et ce charset ne marche pas ?
0
En fait, j'ai l'impression que le problème intervient à la lecture du fichier. Comme si c'était au niveau de la fonction fgets... D'autres idées ? Ca m'aiderai pas mal...

Quant au charset, il est bon. Par précaution, je l'ai changé en :
<meta http-equiv="Content-Type" ; content="text/html" ; charset="iso-8859-1"/>
0
DarkRodWarrior Messages postés 1755 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 18 mai 2010 91
15 mars 2009 à 02:56
Si tu pouvais m'envoyer tes fichiers sources que je le teste sur mon FTP , on avancerai + vite ;)
0
Salut DarkRodWarrior,

Si tu veux le fichier pour faire des tests de ton côté, donne moi ton mail et je te l'envoie illico presto !
Le contenu du fichier à lire est le suivant (j'ai volontairement modifié quelques infos comme les noms, tel et message mais après test de ce nouveau fichier sur mon site, le pb est le même...) :
Sony Ericsson PC Suite - Messages texte (Brayce's C902\Boîte de réception)

---------------------- Message 0001 ----------------------
Contact: Nathalie <+33600000000>
Date: 04/10/2008 13:46

Tu es a Paris ce we?

---------------------- Message 0002 ----------------------
Contact: Nathalie <+33600000000>
Date: 04/10/2008 14:12

Tu es a Paris ce we?

---------------------- Message 0003 ----------------------
Contact: Cielo <+33600000000>
Date: 04/10/2008 20:07

Tu es a Paris ce we?

---------------------- Message 0004 ----------------------
Contact: Cielo <+33600000000>
Date: 05/10/2008 01:12

Tu es a Paris ce we?

---------------------- Message 0005 ----------------------
Contact: Maud <+33600000000>
Date: 06/10/2008 17:24

Tu es a Paris ce we?

---------------------- Message 0006 ----------------------
Contact: Maud <+33600000000>
Date: 07/10/2008 11:34

Tu es a Paris ce we?

---------------------- Message 0007 ----------------------
Contact: Aline <+33600000000>
Date: 07/10/2008 18:35

Tu es a Paris ce we?

---------------------- Message 0008 ----------------------
Contact: Stéphane <+33600000000>
Date: 07/10/2008 18:44

Tu es a Paris ce we?

---------------------- Message 0009 ----------------------
Contact: Gérald <+33600000000>
Date: 08/10/2008 07:41

Tu es a Paris ce we?

---------------------- Message 0010 ----------------------
Contact: Nathalie <+33600000000>
Date: 08/10/2008 21:08

Tu es a Paris ce we?
0
L'objectif de ce programme, tu l'auras compris, c'est d'importer mes sms dans une base de données. Pour ça, vu le format de ce tel, il faut effectuer une lecture ligne à ligne et après traiter chaque information selon un formatage spécifique.
Mais encore faut il pouvoir lire correctement ce maudit fichier...
0

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

Posez votre question
DarkRodWarrior Messages postés 1755 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 18 mai 2010 91
15 mars 2009 à 14:50
Inscrit toi , que je t'envoie un message privé de mon e-mail ;)
0
Brayce Messages postés 5 Date d'inscription samedi 14 mars 2009 Statut Membre Dernière intervention 14 avril 2009 2
15 mars 2009 à 14:52
Je suis déjà inscrit ! Mais je suis néophyte ici... Alors j'attend que tu m'envoie un message privé...

A+ et merci ;-)
0