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

Langage PHP Discussion :

Retourner la ligne d'un fichier texte


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    146
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 146
    Par défaut Retourner la ligne d'un fichier texte
    Bonjour!

    une question sans doute simple, mais je ne parviens pas à trouver la réponse avec Google...

    Je recherche une chaine dans un fichier texte. Une fois trouvée, j'aimerais bien que PHP me retourne le numéro de ligne où il a trouvé la chaine...
    Pour cela, je crois avoir trouvé ftell() mais je parviens pas à l'utiliser, je ne comprends pas trop les exemples de php.net.

    Pouvez-vous m'indiquer la structure du code que je dois utiliser svp?

    Mon code de test est le suivant:

    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
     
    <?php
     
    $ipVisiteur = $_SERVER["REMOTE_ADDR"];
    echo "votre adresse: ". $ipVisiteur."<br>";
     
    if (preg_match("#".$ipVisiteur."#", file_get_contents("noms2.txt")))
     
    {	
    		echo 'VRAI ';
     
    		echo "pointeur: ".ftell($fopen);
     
    }
    else
    {
        echo 'FAUX';
    }
    ?>

  2. #2
    Membre très actif Avatar de polkduran
    Profil pro
    Consultant informatique
    Inscrit en
    Décembre 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2009
    Messages : 155
    Par défaut
    ftell reçoit comme paramètre la ressource d'accès à un fichier, donc il faut que la crées d'abord avec fopen
    or file_get_contents te renvoie tout le contenu de ton fichier, c'est à dire php se charge de créer la ressource vers ton fichier, d'en récupérer le contenu et fermer la ressource
    en plus ftells te renvoie la position du pointeur d'accès à ton fichier alors je ne crois pas que tu obtiendras le numéro de ligne avec ça,
    ce que tu peux faire c'est de lire ton fichier ligne par ligne et d'incrementer un compteur, quand tu trouves ta chaine alors t'arrêtes la lecture et ton compteur contient le numéro de la ligne

    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
     
    $ipVisiteur = $_SERVER["REMOTE_ADDR"];
    $handle = @fopen("noms2.txt", "r");
    $numligne= 0;
    $trouve = false;
    if ($handle) {
        while (!feof($handle)) {
            $ligne = fgets($handle);
            $numligne++;
            if(preg_match("#".$ipVisiteur."#",$ligne){
                 $trouve = true;
                 break;
            }
        }
        fclose($handle);
    }
    if($trouve){
        echo 'ligne : '.$numligne;
    }else{
        echo 'pas trouvé';
    }
    j'espère que ça te servira,
    une seule remarque, fais plus attention à la doc php, est elle bien documentée même s'il n'y a pas bcp d'exemples.

    tu envoies un paramètre $fopen à ftell et tu définis nulle part $fopen donc ça ne va jamais marcher

    bon code

Discussions similaires

  1. Réponses: 5
    Dernier message: 23/12/2005, 19h19
  2. Réponses: 4
    Dernier message: 24/09/2005, 09h52
  3. [BATCH] lire chaque ligne d'un fichier texte
    Par bartmarley dans le forum Windows
    Réponses: 13
    Dernier message: 22/04/2005, 21h01
  4. [Fichier] Nombre de ligne dans un fichier texte
    Par NewSer dans le forum Entrée/Sortie
    Réponses: 7
    Dernier message: 10/11/2004, 16h58
  5. Réponses: 2
    Dernier message: 02/03/2004, 19h38

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