begin process at 2012 05 28 08:44:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Débutant(e)

 > 

Comparaison chaine de caractère et fichier texte


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Comparaison chaine de caractère et fichier texte

jeudi 19 juin 2008 à 21:03:54 | Comparaison chaine de caractère et fichier texte

martins13

Salut!
Je cherche à comparer une chaine saisie dans une textbox avec des chaines de caractères contenues dans un fichier texte. Ma variable $buffer récupère bien les chaines de caractères, la chaine saisie est bien présente, mon problème se situe au niveau de la comparaison. La fonction explode n'a pas l'air de fonctionner.
Si une perseonne a une idée, je suis preneur, voici mon code

 $handle=fopen("listeMail.txt","r");
        if ($handle) {
           while (!feof($handle)) {
        $buffer = fread($handle, 4096);
        $mail = explode(" ", $buffer);
        echo $buffer;
        echo $email;
        $i=0;
        for ($i=0; $i<300; $i++) {
        if ($mail[$i] == $email){echo "ok";}else{echo "non";}
        }
        }
           fclose($handle);
        }

Merci pour votre aide
Bonne soirée

jeudi 19 juin 2008 à 21:40:33 | Re : Comparaison chaine de caractère et fichier texte

Bling 182

Quel est le format de ton fichier ? une adresse par ligne, ou toutes a la suite séparées par des espaces ?

L'affichage de tes variables donne quoi ?

Que contient $email ?

Es tu sur que 300 est une valeur assez grande pour ta boucle de comparaison ? (a vue de nez, je dirais bien oui, mais pour optimiser, je mettrais for ($i = 0 ; $i < count($mail) ; $i++) )
--
Bling182 Dev : http://freelancedev.ovh.org
jeudi 19 juin 2008 à 22:20:15 | Re : Comparaison chaine de caractère et fichier texte

martins13

Mon fichier est au format texte (.txt), les adresses sont à la suite séparées par des espaces. la variable $email contient bien l'adresse rentrée dasn la textbox. Ma variable $buffer contient donc les adresses à la suite par contre lorsque je fais le explode la variable mail n'a rien à l'intérieur.
Oui pour la boucle c'est assez grand je pense.

Merci

jeudi 19 juin 2008 à 22:30:38 | Re : Comparaison chaine de caractère et fichier texte

Bling 182

que donne un print_r ($mail); juste après le explode ?

--
Bling182 Dev : http://freelancedev.ovh.org
jeudi 19 juin 2008 à 22:38:12 | Re : Comparaison chaine de caractère et fichier texte

JoJo738

Membre Club
Hello

Pour ma part, j'utiliserais la focntion file_get_contents() pour lire le fichier ...
Ainsi que la fonction array_search() qui te permet de chercher un element parmis les valeurs d'un tableau.

Ca donnerais :

<?php

$email  = 'monemail@fai.com';
// On lit le fichier avec file_get_contents('mon_fichier.txt');
$file = file_get_contents('listeMail.txt);
// Et on crée un tableau de donnée en découpant le fichier avec le caractère " "
$liste_email = explode(' ', $file);

// Le
(array) dans "(array) $liste_email" permet de typé (forcé le type) array
if( array_search($email, (array)$liste_email)) )
{
    echo 'Email trouvé';
}
else
{
    echo 'Email, non trouvé';
}

?>


Si ma reponse te convient, merci de l'accepter ! 
jeudi 19 juin 2008 à 22:38:35 | Re : Comparaison chaine de caractère et fichier texte

martins13

Réponse acceptée !
Je te remercie pour ton aide je suis finalement passer par un fichier CSV et j'ai utilisé ce code :

$row 1;
$handle fopen("test.csv""r");
while ((
$data fgetcsv($handle1000",")) !== FALSE) {
    
$num count($data);
    echo 
"<p> $num champs à la ligne $row: <br /></p>\n";
    
$row++;
    for (
$c=0$c $num$c++) {
        echo 
$data[$c] . "<br />\n";
    }
}
fclose($handle);

Merci encore



Cette discussion est classée dans : buffer, chaine, handle, comparaison, echo


Répondre à ce message

Sujets en rapport avec ce message

recupérer les champs d'un fichier csv pour les mettre dans une bdd [ par hannao ] Bonjour a tous, voilà je vais tenter de vous expliquez mon pb qui pour certains je suis sur sera très simple, mais j'avoue ramer grave.J'ai un fichier Ajouter un saut de ligne [ par marc660 ] Bonjour,Je voudrais modifier ce script pour ajouter un saut de ligne automatiquement '' mais je ne sais pas comment faire.Pour que ca ressemble par ex pb comparaison string [ par fmazoue ] ca doit etre tout con mais la je vois pas l'erreur je doit etre bigleu !!!voila le bout de code : echo "comparaison entre ".$pwd." et ".$info[$i]["ntp [debutant]couper une chaine [ par jimmy69 ] Bonjour a tous,Voila je me suis fait un p'tit systeme de newd tout simple ! apres avoir vu cette semaine grace a un code comment on fait pour couper u Expressions regulieres, URL et texte [ par ckryo ] Bonjour, je suis tout excite car c'est mon premier message... je me demande si quelqu'un va repondre. Voila, je developpe un outil pr mon boulot mais probleme de fichier [ par aquewel ] Pourquoi ma fonction ne marche pas ?????Le fichier 28.txt contient 2005-01-072005-01-082005-01-09$date = "2005-01-08";$file = fopen("dateid/28.txt", " newsletter [ par simon0000 ] salut je ve fait ce code pour ennoyer une newsletter a tous les e-mail inscrit dans le fichier 3.txt mais aucun e-mail n'est envoyer est ce que quelqu newsleter [ par simon0000 ] salut je ve fait ce code pour ennoyer une newsletter a tous les e-mail inscrit dans le fichier 3.txt mais aucun e-mail n'est envoyer est ce que quelqu Probleme d'impression "printer_set_option" [ par valva ] bonjour tout le monde ;)  voila mon code tout simple(enfin je croi) :   $handle = printer_open();  // imprimante par default  // lecture  des infos de Delimiteur de chaine de caracteres [ par phpwankenobi ] Bonjour,Je ne sais pas comment utiliser le dlimiteur "\" pour delimiter les chaines de caracteres, en clair je souhaite recuperer et/ou passer correct


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,435 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales