Bonjour tous le monde je débute tous juste en programmation php et j'ai un problème sur un projet, je m'explique:

J'ai une page html avec une barre de recherche dessus, et un script php me permettant de (grep) d'afficher tous les noms fichiers de dans mon dossier contenants le texte que j'ai rechercher dans la barres de recherche.

Pour cela quand l'utilisateur tape la chaine de caractéres dans la barre de recherche pour grep dans le dossier en question et appuis sur entrer, cela envoi un POST qui va directement modifier la variable $contents_lists et y placer le texte taper dans la barre de recherche, puis le scripts sexecute et va retourner tous les nom de fichiers contenants la chaine de caractère taper dans la barre de recherche.

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
 
    $contents_list = $_POST['search'];
    $path = "/location/de/mon/dossier";
 
    $dir = new RecursiveDirectoryIterator($path);
    $compteur = 0;
 
    foreach(new RecursiveIteratorIterator($dir) as $filename => $file) {
        $fd = fopen($file,'r');
        if($fd) {
            while(!feof($fd)) {
                $line = fgets($fd);
                foreach($contents_list as $content) {
                    if(strpos($line, $content) != false) {
    $compteur+=1;
                        echo "\n".$compteur. "  :  " . $filename. "  :  \n"."\n=========================================================================\n";
                    }
                }         
            }
        }
        fclose($fd);
    }
 
    ?>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="utf-8" />
           </head>
 
    <body>
    <form action="page2.php" method="post">
        <INPUT TYPE = "TEXT" VALUE ="search" name="search">
    </form>
    </body>


Et quand je vais sur la page html et que je tape du texte dans ma barre de recherche, cela me redirige vers la page de mon script php "localhost/test.php" et j'ai une 'erreur interne 500'.


Mais le script est correct et quand je définis a l'avance la variable $contents_lists et que je l'execute depuis mon terminal cela marche, mais depuis le navigateur erreur 500...


Je ne sais pas d'ou vient l'erreur, de la syntaxe de mon POST ?? ou peut etre qu'il y a trop de résultats? peut etre des restriction du localhost?


Mais dans tous les cas la page php en question sur mon localhost dans le naviguateur me renvoie automatiquement une erreur 500 contrairement aux autres pages php qui elles fonctionnent...



Voici se que je voudrais faire:

- Voir les résultats retourner par mon script php sur la meme page html en dessous de la barre de recherche,
- Et si le résultats obtenu est identique a un résultat déja obtenu au paravent, ne pas l'afficher(pour ne pas afficher de doubles et éviter de surcharger)




J'espere avoir été clair et que quelqu'un me viendra en aide