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 :

touver une ligne dans un fichier


Sujet :

Langage PHP

  1. #1
    Provisoirement toléré
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Points : 121
    Points
    121
    Par défaut touver une ligne dans un fichier
    Bonjour membres,
    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
    26
    <?php
    $fichier = file("/test/blacklist.php"); // Nom du fichier à afficher
    $total = count($fichier); // Nombre total des lignes du fichier
     
    $fichier2 = file("/test/vulfile.php"); // Nom du fichier à afficher
     
    for($i = 0; $i < $total; $i++)
    { // Départ de la boucle
     
    $resultats =array();
    $ligne=$fichier2 ;
    if (preg_match('|\b' . preg_quote($fichier[$i]) . '\b|i', $ligne)) {
                $resultats[] = $ligne;
            }
        }
        $nb = count($resultats);
        if ($nb > 0) {
            echo "'$mot' trouvé $nb fois :";
            echo '<ul>';
            foreach ($resultats as $v) {
                echo "<li>$v</li>";
            }
            echo '</ul>';
        } else {
            die("Ce nom n'est pas présent !");
        }
    j'aime bien chercher les ligne du fichier1 si'l existe ou non dans le fichier 2

    j'ai cette erreur

    Warning: preg_match() expects parameter 2 to be string, array given in /usr/share/ossim/www/test/comparaison.php on line 29

    avec ce message
    Ce nom n'est pas présent !

    j'ai besoin d'aide
    merci d'avance

  2. #2
    Membre régulier Avatar de daheda
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    81
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 81
    Points : 109
    Points
    109
    Par défaut
    Dans ton cas, il faut aussi indexé la variable ligne....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (preg_match('|\b' . preg_quote($fichier[$i]) . '\b|i', $ligne[$k]))
    mais si le fichier présente des miliers de lignes, ça va prendre du temps pour parcourir les 2 fichiers.

  3. #3
    Membre éprouvé Avatar de patrickbaras
    Homme Profil pro
    Informaticien (à sa mémère).
    Inscrit en
    Septembre 2010
    Messages
    525
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien (à sa mémère).
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 525
    Points : 1 103
    Points
    1 103
    Par défaut
    si tu veux simplement savoir le contenu commun:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $fichier1=file("fichier1.txt");
    $fichier2=file("fichier2.txt");
    $result = array_intersect($fichier1, $fichier2);
    ?>
    si tu veux savoir le contenu et les numéro de 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
    <?php
    $fichier1=file("fichier1.txt");
    $fichier2=file("fichier2.txt");
    foreach($fichier1 as $numligne1 => $ligne1)
    {
    	$longLigne1=strlen($ligne1);
    	foreach($fichier2 as $numligne2 => $ligne2)
    	{
    		$longLigne2=strlen($ligne2);
    		if($ligne1==$ligne2)
    		{
    			echo "FIC1[".$numligne1."]=FIC2[".$numligne2."] => ".$ligne1."<br/>";
    		}
    	}
    }
    ?>

  4. #4
    Provisoirement toléré
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Points : 121
    Points
    121
    Par défaut
    Citation Envoyé par patrickbaras Voir le message
    si tu veux simplement savoir le contenu commun:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <?php
    $fichier1=file("fichier1.txt");
    $fichier2=file("fichier2.txt");
    $result = array_intersect($fichier1, $fichier2);
    ?>
    si tu veux savoir le contenu et les numéro de 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
    <?php
    $fichier1=file("fichier1.txt");
    $fichier2=file("fichier2.txt");
    foreach($fichier1 as $numligne1 => $ligne1)
    {
    	$longLigne1=strlen($ligne1);
    	foreach($fichier2 as $numligne2 => $ligne2)
    	{
    		$longLigne2=strlen($ligne2);
    		if($ligne1==$ligne2)
    		{
    			echo "FIC1[".$numligne1."]=FIC2[".$numligne2."] => ".$ligne1."<br/>";
    		}
    	}
    }
    ?>
    merci pour votre aide ,
    je vous explique le script que je vient le faire,
    je suis entrain de développer un script qui var parcourir les pages web sous apache (pour ce la j'ai utilisé le scripte 1 qui parcourir une arbre naissance pour récupérer tous les pages web. pour chercher les mots que j'ai écrit dans le fichier1 (comme par exemple mot violence terrorisme,....) pour afficher une alerte. chaque ligne contient un mot (fichier 1) c'est pour cela j'ai les deux script affiche d'une arbre naissance et le script chercher un mot dans un fichier.
    alors le ficher 2 serra les pages web que je vais les récupérer à partir du script 1

    s'il vous plait aidez moi de parcourir tous les pages web (script 1) et récupérer les pages pour chercher les mots (script 2)

    merci d'avance

Discussions similaires

  1. [FSO] Effacer une ligne dans un fichier
    Par Johnbob dans le forum ASP
    Réponses: 4
    Dernier message: 30/05/2007, 16h23
  2. Changer une ligne dans un fichier
    Par peuf23 dans le forum Langage
    Réponses: 9
    Dernier message: 03/08/2005, 16h43
  3. [VBA] insérer une ligne dans un fichier excel
    Par cokinoumasterflash dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/07/2005, 18h52
  4. [langage] Effacer une ligne dans un fichier
    Par sebi77 dans le forum Langage
    Réponses: 2
    Dernier message: 01/01/2005, 12h43
  5. Supprimer une ligne dans un fichier
    Par sbeu dans le forum Langage
    Réponses: 3
    Dernier message: 13/05/2003, 10h30

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