IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

recherche dans un fichier texte [EasyPHP]


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut recherche dans un fichier texte
    Bonjour,
    Je voudrais pouvoir rechercher du texte dans un fichier texte.
    Au final je voudrai que ça m'affiche la ligne ou mon terme à été trouvé.
    J'ai fait cela mais ça ne me retourne rien...

    J'ai remarqué que je ne rentrais pas dans la boucle " while (!feof($pointeur))" mais je ne sais pas pourquoi.

    Pouvez vous m'aidez svp.

    Merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    $url = C_CHEMIN."/lang/fr/textes.inc.php";
     
    $fichier = $url;
    $s = $recherche;
    $motif = "/$s/";
     
    $pointeur = fopen($fichier, "r");
    $i = 0;
     
    if ($pointeur) {
     
      while (!feof($pointeur)) {
     
       echo "tata";
       $ligne = fgets($pointeur);
     
        if (preg_match($motif, $ligne, $r)) {
          echo $ligne.'';
          $i++;
          }
        }
      fclose($pointeur);
      echo "Motif '$s' trouvé $i fois.";
      }

  2. #2
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut
    Salut,
    Concernant l'affichage de la ligne, regarde la fonction file(), cela pourra t'être utile :
    http://www.php.net/file


    Sinon pour ton problème, j'imagine que l'echo "tata" c'est pour tester si tu es bien dans ta boucle ?
    Est-ce que tu peut le mettre apres ton premier if ? Car ton while m'a l'air correct. S'il ne passe pas, c'est peut-être que tu ouvres un fichier vide ou bien que le chemin est faux ?
    Sinon pour ton premier if, s'il sert à tester si le fichier existe, tu as aussi la fonction file_exists() qui serait plus approprié :
    http://www.php.net/file_exists

    Voila voila,
    ++
    ShinJava

  3. #3
    Membre confirmé Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    merci pour ta réponse.
    effectivement le echo "tata" c'est pour tester...
    Je rentre bien dans mon if mais pas dans le while, je ne sais pas pourquoi...

  4. #4
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut
    Dans ce cas là, a quoi correspond C_CHEMIN ?
    Peut etre que le chemin n'est pas bon ?

    Si ton repertoire /lang/ ce trouve à la racine de ton site , essaye cette méthode pour ouvrir le fichier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $url = $_SERVER['DOCUMENT_ROOT']."/lang/fr/textes.inc.php";
    Ca devrait passer...

  5. #5
    Membre confirmé Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    je viens de tester pour le chemin du fichier et c'est bon.
    J'ai par contre créer un fichier .txt à la place et la il rentre dans la boucle...
    Pourquoi ne veut il pas rentrer dans mon fichier.php, il l'interprete differement ?

    De plus, en testant avec un fichier.txt ,j'ai une erreur à chaque itération de mon while pour la ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (preg_match($motif, $ligne, $r))
    voici l'erreur:
    Warning: Unknown modifier 't' in...


  6. #6
    Membre éclairé Avatar de ShinJava
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    413
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 413
    Par défaut
    Normalement ca ne doit pas poser de problème pour lire un fichier .php, tu as fait le test de file_exists() ?
    Je viens d'essayer de lire un fichier.php chez moi, et je n'ai eu aucun problème.

    Sinon pour le preg_match, j'ai un peu de mal à le saisir, à quoi correspond $r ?

  7. #7
    Membre confirmé Avatar de cflo91
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 113
    Par défaut
    J'ai trouvé d'où venait la derniere erreur:

    if (preg_match('# toto #', $ligne, $r))

    il interprete mal le fait que ce soit une variable à la place de "toto".

    Par contre toujours pas de solution pour mon probleme quand le fichier est en .php

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Recherche dans un fichier texte
    Par Yazoo70 dans le forum C++
    Réponses: 7
    Dernier message: 12/06/2007, 08h31
  2. recherche dans un fichier texte en perl(débutant)
    Par Shyboy dans le forum Langage
    Réponses: 3
    Dernier message: 04/07/2006, 23h53
  3. [VB]Recherche dans un fichier texte
    Par mirascheat dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/09/2005, 12h11
  4. Recherche dans un fichier texte volumineux.
    Par Actarus69 dans le forum VB 6 et antérieur
    Réponses: 17
    Dernier message: 27/07/2005, 17h39
  5. [LG]rechercher dans un fichier texte
    Par BadFox dans le forum Langage
    Réponses: 11
    Dernier message: 01/12/2003, 15h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo