fgets -> ligne en double
Posté : 18 avr. 2011, 10:26
Bonjour à tous. J'ai un problème lors de la lecture d'un fichier : Il le lit correctement, j'en extrait les données que je veux et tout et tout, mais seulement, il me lit 2 fois la dernière ligne ...
Voici mon code :
Voici mon code :
$fichier = fopen($cheminFichierUploade, 'r'); //Ouverture en lecture seule du fichier de contacts de base
if ($fichier) //Si on a réussi à l'ouvrir
{
while (!feof($fichier)){ //On lit le fichier ligne par ligne
$ligneCourante = fgets($fichier);
$ligneCourante = strtr($ligneCourante, '<>', ' '); //On remplace les < et > par des espaces
$decoupeLigne = explode("\t", $ligneCourante);
for($i=1; isset($decoupeLigne[$i]); $i++){ //On parcours le contenu de chaque colonne de la ligne
// On récupère le contenu des colonnes choisies par l'utilisateur
if ($i == $colonneContact){
$contenuNomContact = $decoupeLigne[$i];
}
if ($i == $colonneCodePostal){
$contenuCodePostal = $decoupeLigne[$i];
}
if ($i == $colonneVille){
$contenuVille = $decoupeLigne[$i];
}
}
// On rédige le "Record" du fichier xml, en complétant avec les valeurs récupérées précédemment
$texte .='
<Record RecID="0">
<FldValue FldName="nom">
<StrVal>'. $contenuNomContact .'</StrVal>
</FldValue>
<FldValue FldName="type">
<StrVal>Contact</StrVal>
</FldValue>
<FldValue FldName="adr">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="cp">
<StrVal>'. $contenuCodePostal .'</StrVal>
</FldValue>
<FldValue FldName="ville">
<StrVal>'. $contenuVille .'</StrVal>
</FldValue>
<FldValue FldName="ind1">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="ind2">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="ind3">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="linesup1">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="linesup2">
<StrVal></StrVal>
</FldValue>
<FldValue FldName="linesup3">
<StrVal></StrVal>
</FldValue>
</Record>';
}
fclose($fichier);
}
En espérant que quelqu'un puisse m'aider.. Merci!