Lecture d'un fichier en php

Fermé
fredj_94 Messages postés 2 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 2 novembre 2009 - 2 nov. 2009 à 20:34
fredj_94 Messages postés 2 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 2 novembre 2009 - 2 nov. 2009 à 20:57
Bonsoir,

j'ai mis en place un script qui récupère le contenu d'un fichier .txt et qui ensuite alerte des lignes en doublon.

Le soucis c'est que chaque ligne n'est pas récupérée comme il le faut: deux caractères invisibles sont ajoutés à la fin de chaque ligne sauf la dernière.
Voici mon code:

 
$tab_villes = array();
 
  if (!$fp = fopen("./villes2.txt","r")) {
    echo "Echec de l'ouverture du fichier";
    
    exit;
  
  }else {
  	while(!feof($fp)) {
  	// On récupère une ligne
  		$tab_villes[] = fgets($fp,4096);			
  
  	     }
  	fclose($fp); // On ferme le fichier
  }
 
$nb_villes = count($tab_villes);
  for($i=0; $i<$nb_villes; $i++) {
    
  	$courante_ville = $tab_villes[$i];
  	
  	 for($j=0; $j<$nb_villes; $j++) {
  	   if( ($tab_villes[$i] == $tab_villes[$j]) && ($j!=$i) ){
        echo $tab_villes[$j].' est en double <br>';
       } 
     }
     
  }

Et voici mon fichier texte:



Abergement-Clémenciat
Anglefort
Ambérieu-en-Bugey
Ambérieux-en-Dombes
Ambléon
Apremont
Ambronay
Ambutrix
Andert-et-Condon
Andert
Anglefort

Le script doit m'indiquer que la 2eme et la dernières ligne sont identique mais il ne le fait pas.

Une explication ? merci
A voir également:

2 réponses

XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
2 nov. 2009 à 20:48
Salut, j'ai jeté un p'tit oeil sur ton code.

Ton erreur ne viendrait-elle pas d'ici :
while(!feof($fp)) {
  	// On récupère une ligne
  		$tab_villes[] = fgets($fp,4096);			
  
  	     }
0
XatOr Messages postés 742 Date d'inscription mercredi 4 juin 2008 Statut Membre Dernière intervention 5 décembre 2010 34
2 nov. 2009 à 20:51
Au niveau de ton tableau qui n'a pas de valeur et qui ne s'incrémente pas ?

Merci de m'en tenir informé
0
fredj_94 Messages postés 2 Date d'inscription lundi 2 novembre 2009 Statut Membre Dernière intervention 2 novembre 2009
2 nov. 2009 à 20:57
bonsoir,

le tableau récupère bien les données.

En fait j'ai modifié mon code de sorte de ne pas récupéré les sauts e ligne mais un caractère invisible s'ajoute tout de même à chaque entrée de mon tableau:

  
  $tab_villes = file("./villes_.txt",FILE_IGNORE_NEW_LINES);
  
  $nb_villes = count($tab_villes);
  for($i=0; $i<$nb_villes; $i++) {
    
  	$courante_ville = $tab_villes[$i];
  	
  	 for($j=0; $j<$nb_villes; $j++) {
  	   if( ($courante_ville == $tab_villes[$j]) && ($j!=$i) ){
        echo $tab_villes[$j].' est en double <br>';
       } 
     }
     
  }

0