Lecture d'un fichier en php

fredj_94 Messages postés 2 Statut Membre -  
fredj_94 Messages postés 2 Statut Membre -
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 799 Statut Membre 34
 
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 799 Statut Membre 34
 
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 Statut Membre
 
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