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 :

comparaison deux contenus


Sujet :

Langage PHP

  1. #1
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut comparaison deux contenus
    Bonjour j'ai ce code

    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
    $lines = file('test/blacklist.php');
    foreach ($lines as $lineNumber => $lineContent)
    {
    //      echo $lineContent.'<br />';
    }
    $lines2 =  file('/test/files.php');
     
    foreach ($lines2 as $lineNumber => $lineContent)
     
    {
     
    $f = fopen ($lineContent, "r");
     
     
    }
     
     
    ?>
    le contenu du fichier test/blacklist.php contient la liste des mots comme:

    violence
    terrorisme
    -18
    ...
    le contenu du fichier test/files.php contient la liste pages comme:
    /test/index/php
    /test/produit/produit.php
    /test/terrorisme/index.php
    /test/violence/violence.php

    mon problème c'est comment je vais parcourir la liste des mots du fichier blacklist.php est accéder aux contenus des fichiers comme(violence.php,produit.php) de la liste files.php pour voir si les sont exige ou non s'il existe alors je vais affiché un alerte.

    merci d'avance

  2. #2
    Membre extrêmement actif Avatar de ledisciple
    Homme Profil pro
    observateur de nuage niveau 2.3
    Inscrit en
    Août 2008
    Messages
    860
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : observateur de nuage niveau 2.3

    Informations forums :
    Inscription : Août 2008
    Messages : 860
    Par défaut
    Bonjour

    ceci ne fonctionnerait-il pas? (non testé)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $lines2 =  file('/usr/share/ossim//www/test/files.php');
    foreach ($lines2 as $lineNumber => $lineContent){
    	$ligne3=  file($lineContent);
    	foreach ($lines3 as $lineNumber2 => $lineContent2){
    	echo $lineContent2."<br />";
    	}
    }

  3. #3
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci
    mai jai cette erreur Invalid argument supplied for foreach()

    foreach ($lines3 as $lineNumber2 => $lineContent2){

    merci d'avance

  4. #4
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    Bonsoir Mes amis,
    est ce que vous avez une idée comment je peut faire la comparaison .
    merci d'avance

  5. #5
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Salut
    Citation Envoyé par rezguiinfo Voir le message
    mon problème c'est comment je vais parcourir la liste des mots du fichier blacklist.php est accéder aux contenus des fichiers comme(violence.php,produit.php) de la liste files.php pour voir si les sont exige ou non s'il existe alors je vais affiché un alerte.
    C'est incompréhensible
    Et puis je n'ai pas compris le besoin non plus d'ailleurs.

    NB: pour récupérer le contenu d'un fichier .php, il suffit de faire un include(), pas besoin de fopen()...

    blacklist.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    return array(
        'violence',
        'terrorisme',
        '-18ans'
    );
    files.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
    return array(
        '/test/produit/produit.php',
        '/test/terrorisme/index.php',
        '/test/violence/violence.php'
    );
    index.php (début)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php
     
    $words = include 'blacklist.php';
    $files = include 'files.php';
    Reprends tes explications parce que là c'est pas gagné.

  6. #6
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci pour votre réponse mon probléme c'est que j'ai une liste des mots dans le fichier balacklist.php. je vais ouvrir chaque fichier dans la liste files.php est chercher dans chaque fichier si il 'ya un mot existe ou non si oui je vois afficher une alerte que cette page contient le mot "violence"
    merci d'vance

  7. #7
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Est ce que tu peux poster le code d'un fichier par exemple : violence.php
    Que contiennent ces fichiers : du texte, du code html, du code php, un peu de tout ?

  8. #8
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Est ce que tu peux poster le code d'un fichier par exemple : violence.php
    Que contiennent ces fichiers : du texte, du code html, du code php, un peu de tout ?
    merci pour votre réponse,
    le fichier violence.php c'est un fichier un peut de tout c'est une page statique (text,html,php).
    merci d'avance

  9. #9
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Ok, une dernière chose : le mot recherché est tapé en dur dans la page, il ne provient pas du résultat d'une requête sql qui rappatrierait un bloc de texte par exemple, c'est ça j'ai bien compris ?

  10. #10
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Je te propose ceci :
    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
     
    $words = array(
        'violence',
        'terrorisme',
        '-18ans'
    );
     
    $files = array(
        '/test/produit/produit.php',
        '/test/terrorisme/index.php',
        '/test/violence/violence.php'
    );
     
    $intersect = array();
     
    foreach($files as $path) {
        $file = file_get_contents($path, FILE_USE_INCLUDE_PATH);
        foreach($words as $word) {
            if (stripos($file, $word) !== false) {
                $intersect[$word][] = $path;
            }
        }
    }
     
    ?>

  11. #11
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci pour votre réponse le mot tapé en dur dans la page il ne provient pas du résultat d'une requête sql.
    merci d'avance

  12. #12
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    Je te propose ceci :
    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
     
    $words = array(
        'violence',
        'terrorisme',
        '-18ans'
    );
     
    $files = array(
        '/test/produit/produit.php',
        '/test/terrorisme/index.php',
        '/test/violence/violence.php'
    );
     
    $intersect = array();
     
    foreach($files as $path) {
        $file = file_get_contents($path, FILE_USE_INCLUDE_PATH);
        foreach($words as $word) {
            if (stripos($file, $word) !== false) {
                $intersect[$word][] = $path;
            }
        }
    }
     
    ?>
    le problème que l'ajout et le parcourir des pages web serra automatique alors j'ai fait un script qui liste tous les pages web d'un répertoire et sous répertoire dans le fichier files.php pour faire la rechercher automatiquement

    merci d'avance

  13. #13
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par rezguiinfo Voir le message
    le problème que l'ajout et le parcourir des pages web serra automatique alors j'ai fait un script qui liste tous les pages web d'un répertoire et sous répertoire dans le fichier files.php pour faire la rechercher automatiquement
    Bah il n'y a pas de problème : tu fais une fonction et tu lui passe le résultat de tes scripts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    function explicitContent(array $words, array $files) { ... }

  14. #14
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci, ma question comment je puisse parcourir la liste des pages dans le fichier files.php car cette liste est dynamique est non pas statique car en peut par exemple supprimer une page.

    merci pour votre aide

  15. #15
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Si tu supprimes une page, ton script
    qui liste tous les pages web d'un répertoire et sous répertoire dans le fichier files.php
    ne la listera pas vu qu'elle a été supprimée, donc pas de problème là non plus.

  16. #16
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci ,

    mai ce tableau array comment peut prendre la liste des fichier automatiquement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $files = array(
        '/test/produit/produit.php',
        '/test/terrorisme/index.php',
        '/test/violence/violence.php'
    );
    voici mon script qui liste tous les fichiers
    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
     
     
    <?php
    function ScanDirectory($directory)
    {
     
    $destination = 'test/files.php';
    $datas = '';
     
    $iter = new RecursiveDirectoryIterator( $directory );
     foreach (new RecursiveIteratorIterator($iter) as $file) {
     
    $datas .= $file->getPath() . '/' . $file->getFilename()."\n";
     
    file_put_contents($destination,$datas);
     
     }  }
    ?>
    merci d'avance

  17. #17
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    La question est de savoir si tu listes à chaque fois (à chaque requête) le contenu de tes répertoires ou pas.

  18. #18
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    La question est de savoir si tu listes à chaque fois (à chaque requête) le contenu de tes répertoires ou pas.
    oui à chaque fois je listé les fichiers (c'est une liste dynamique).c'est à dire chaque fois je relance mon script.
    merci d'avance

  19. #19
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Si c'est dynamique, autant renvoyer directement le résultat au lieu de l'écrire dans un fichier.
    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <?php
     
    $words = array(
        'violence',
        'terrorisme',
        '-18ans'
    );
     
    $files = ScanDirectory('/any directory/');
    $found = explicitContent($words, $files);
     
    /**
     * @param   array $words array([] => word to search)
     * @param   array $files array([] => full path)
     * @return  array array(word to search => array([] => found in path)) 
     */
    function explicitContent(array $words, array $files)
    {
        $intersect = array();
        foreach($files as $path) {
            $file = file_get_contents($path);
            foreach($words as $word) {
                if (stripos($file, $word) !== false) {
                    $intersect[$word][] = $path;
                }
            }
        }
     
        return $intersect;
    }
     
     
     
    /**
     * @param   string $directory
     * @return  array  array([] => directory content)
     */
    function ScanDirectory($directory)
    {
        $files = array();
        $iter  = new RecursiveDirectoryIterator($directory);
        foreach(new RecursiveIteratorIterator($iter) as $file) {
            $files[] = $file->getPathname(); 
        }
     
        return $files;
    }

  20. #20
    Membre très actif
    Inscrit en
    Février 2008
    Messages
    475
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 475
    Par défaut
    merci pour votre réponse
    voici tous le script
    est ce que je peut écrire le tableau words dans le fichier blacklist.php car j'ai une centaine mots alors c'est une grande liste .
    la deuxième remarque lorsque je lance mon script j'ai une page blanche
    aide s'il vous plait

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    <html>
    <body>
    <?php
     
    $words = array(
        'violence',
        'terrorisme',
        '-18ans'
    );
     
     
    function ScanDirectory($directory)
    {
        $files = array();
        $iter  = new RecursiveDirectoryIterator($directory);
        foreach(new RecursiveIteratorIterator($iter) as $file) {
            $files[] = $file->getPathname();
     
     
    //  echo $files[] = $file->getPathname();
     
    }
     
        return $files;
    }
    $files = ScanDirectory($directory);
    //echo $files;
    //$files = ScanDirectory('/any directory/');
    $found = explicitContent($words, $files);
     
    /**
     * @param   array $words array([] => word to search)
     * @param   array $files array([] => full path)
     * @return  array array(word to search => array([] => found in path))
     */
    function explicitContent(array $words, array $files)
    {
        $intersect = array();
        foreach($files as $path) {
            $file = file_get_contents($path);
            foreach($words as $word) {
                if (stripos($file, $word) !== false) {
                    $intersect[$word][] = $path;
    echo  $intersect[$word][] = $path;
             }
            }
        }
     
        return $intersect;
    //echo  $intersect[$word][] = $path;
    }
     
     
    /**
     * @param   string $directory
     * @return  array  array([] => directory content)
     */
    /*function ScanDirectory($directory)
    {
        $files = array();
        $iter  = new RecursiveDirectoryIterator($directory);
        foreach(new RecursiveIteratorIterator($iter) as $file) {
            $files[] = $file->getPathname();
    
    
        }
    
        return $files;
    echo $files[] = $file->getPathname();
    
    } */
     
     
    ?>
    <?php
     @session_start();
     if(empty($_POST)){
     ?>
     
     <form method="post" action="">
     Veuillez entrer le nom du dossier :
     <input type="text" name="path" value="">
     <br><br>
     <input type="submit" name="bouton" value="Envoyer">
     </form>
     
     <?php
    }
    else{
    ScanDirectory($_POST['path']);
     }
     ?>
     
    </body>
    </html>
    merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comparaison deux champs
    Par asmaa90 dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 20/04/2009, 19h05
  2. problème de comparaison deux chaines de caractères
    Par jean sami dans le forum Débuter
    Réponses: 2
    Dernier message: 16/06/2008, 00h47
  3. Comparaison deux chaine de caractère arabe en java
    Par vetchang dans le forum Général Java
    Réponses: 9
    Dernier message: 09/10/2007, 00h53
  4. comparaison deux tableaux
    Par bezoindaidde dans le forum Langage
    Réponses: 13
    Dernier message: 06/07/2007, 16h51
  5. comparaison deux images
    Par nicolovitch dans le forum Windows
    Réponses: 3
    Dernier message: 27/04/2007, 18h25

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