Page 1 sur 1

examiner un fichier texte

Posté : 27 avr. 2006, 12:30
par nikitou
Bonjour,

Voila j'ai besoin de vos connaissance

J'utilise un formulaire où les gens entre des mots genre (chat - chien - etc...)

Ensuite une fois le formulaire validé je les insère dans un ficier texte avec la commande ci-dessous
//$in2 contenant les mots tapés par l'internaute
$verif = fopen ("/home/xxxx/domains/xxxx/xxxx/xxxx/verif.txt","a+");
fputs ($verif,$in2."\n");
fclose ($verif);
Les données s'inscrive ensuite dans mon ficher texte de la manière suivantes en fontion du nombre de mots entrés

chat
chien - lapin - pigeon
Elephant - hiboux
etc...

ce que j'aimerais ensuite c'est qu'à la soumission d'un nouveau formulaire le fichier texte contenant les mots déjà inséré soit testé et si le mot est déjà présent dedans que cela mette un message d'erreur.

ca je ne sais pas comment faire pour lire les mots dans un fichier
Je sais que je dois utiliser implode mais je n'arrive pas trop

Quelqu'un pourrait m'aider merci je suis sur que ce n'est pas très dur

merci d'avance

Posté : 27 avr. 2006, 12:54
par zigz4g
Salut.

Au plus simple, tu peux utiliser la fonction file().
<?php
if (isset($_GET['mot'])) {
    $mot = $_GET['mot'];
}
$tab_file = file('mon_fichier.txt');
foreach ($tab_file as $line) {
    if (eregi($mot, $line)) {
        echo 'Trouve.';
    }
    else {
        echo 'Pas trouve.';
    }
}
?>

Posté : 27 avr. 2006, 12:55
par Ryle
Hello,

Je pense que la solution la plus simple est de lire le fichier et de constituer un tableau avec les différents noms qu'il contient. Il te faut donc ouvrir le fichier (fopen), le parcourir ligne par ligne, et pour chaque ligne mettre les différents mots trouvés dans les cellules d'un tableau (si c'est bien le mot et pas la ligne, il te faudra boucler quand il y en a plusieurs sur une meme ligne pour avoir un seul mot par cellule)

Il te suffit alors d'utiliser la fonction inArray() pour savoir si le mot que tu récupère est déjà présent dans le tableau, te permettant ainsi de gérer l'erreur :)

Posté : 29 avr. 2006, 15:23
par nikitou
Merci j'ai reussi mais au final je me suis servis de mysql beaucoup plus simple :lol:

Merci pour tout encore

Re: examiner un fichier texte

Posté : 23 juin 2006, 06:27
par Invité
Bonjour,

Voila j'ai besoin de vos connaissance

J'utilise un formulaire où les gens entre des mots genre (chat - chien - etc...)

Ensuite une fois le formulaire validé je les insère dans un ficier texte avec la commande ci-dessous
//$in2 contenant les mots tapés par l'internaute
$verif = fopen ("/home/xxxx/domains/xxxx/xxxx/xxxx/verif.txt","a+");
fputs ($verif,$in2."\n");
fclose ($verif);
Les données s'inscrive ensuite dans mon ficher texte de la manière suivantes en fontion du nombre de mots entrés

chat
chien - lapin - pigeon
Elephant - hiboux
etc...

ce que j'aimerais ensuite c'est qu'à la soumission d'un nouveau formulaire le fichier texte contenant les mots déjà inséré soit testé et si le mot est déjà présent dedans que cela mette un message d'erreur.

ca je ne sais pas comment faire pour lire les mots dans un fichier
Je sais que je dois <b style="color:black;background-color:#ffff66">utiliser</b> <b style="color:black;background-color:#a0ffff">implode</b> mais je n'arrive pas trop

Quelqu'un pourrait m'aider merci je suis sur que ce n'est pas très dur

merci d'avance