Page 1 sur 1

[PhP] sortir des infos d'un fichier texte

Posté : 18 oct. 2007, 11:07
par Mateo
Bonjour !

J'utilise un chat sur mon site. Ce chat note les connectés dans un fichier .txt ressemblant à cela:

Code : Tout sélectionner

Pseudo1;chiffre;;adresse_ip1 Pseudo2;chiffre;;adresse_ip2 Pseudo3;chiffre;;adresse_ip3
Je souhaiterais afficher uniquement les pseudos.
J'ai réussi à isoler le Pseudo1 par ce code:

Code : Tout sélectionner

<? $connects = fopen("/users.txt","r"); // ouverture du fichier txt $liste = fgets($connects,255); // lecture du fichier txt fclose($connects); // fermeture du fichier txt list($user, $x, $y, $ip) = explode(";", $liste); // le fichier est mis en tableau et indexé echo $user; // affichage de la donnée désirée ?>
Mon problème réside donc dans le traitement des lignes suivantes du fichier texte.
Comme puis-je afficher également Pseudo2, Pseudo3, ...

Merci beaucoup pour les explications à venir. Une réponse serait bien, une explication bien mieux :D

Posté : 18 oct. 2007, 11:13
par d0m
si tu veux séparer tes données par des ';', autant utiliser des fichiers CSV.
Au lieu de l'enregistrer sous blabla.txt tu l'enregistres sous blabla.csv

Un fichier CSV est justement un fichier avec des données séparées par des ; et où chaque ligne représentre une "entrée" différentes.

Et PHP possède des fonctions pour traiter les fichiers csv et justement faire exactement ce que tu veux.

Posté : 18 oct. 2007, 11:47
par Mateo
Merci ...
Par contre, pour modifier l'extension, il me semble que rename ne marche pas ...
Parce qu'en fait, mon chat utilise le fichier txt, donc il me faut le conserver intact.

Tu as une méthode pour modifier le .txt en .csv ?

Posté : 18 oct. 2007, 11:48
par d0m
je ne suis pas sur, mais c'est peut être même possible d'appliquer les fonctions csv aux fichiers au format txt.

Posté : 18 oct. 2007, 11:59
par zeus
le format CSV, c'est un contenu.
Tu peux donc avoir un fichier ".csv" qui ne pourra être parsé par fgetcsv() ou un fichier ".txt" qui pourra être parsé ;)

Posté : 18 oct. 2007, 12:06
par Mateo
OK, merci beaucoup ...
Je vais donc retourner à mon code et vous tiendrais au courant ;)