Moteur de recherche de fichiers

sti-1 -  
Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

ce script ne marche pas sur mon serveur mais je sais pas pourquoi

pourriez vous m'aider

merci d'avance

// Mettre le chemin du répertoire
$d = dir("./");

if(isset($_POST['submit']) AND !empty($_POST['mot'])){
$mot = trim($_POST['mot']);

while($entry = $d->read()) {
preg_match("#($mot+?)#s", $entry, $new);
$data = trim($new[1]);
if (!empty($data)) echo '<a href="'.$entry.'">'.$data.'</a><br />';
}
$d->close();
}

?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="mot">
<input type="submit" name="submit" value="Envoyer">
</form>

2 réponses

  1. Bablon Arnaud Messages postés 91 Statut Contributeur 11
     
    héhé ta quoi comme problème exactement ? Tu n'essayerais pas de lister le contenu d'un dossier dont tu ne dispose pas les privilèges ?

    (Quand j'utilise ton script dans un environnement ou j'ai tous les privilèges j'ai plusieurs problèmes : des notices car ta regex ne retourne pas tjrs quelques choses et que tu utilises le tableau retourné par celle ci après (trim($new[1]) ensuite j'ai le liens qui est mal former (celui qui affiche le "mot" trouvé (a moi que tu ai une règle de ré écriture qui gère ca)).

    Si tu a bien les droits essaye tu est sur de vouloir lister(./) et pas /

    A ca autres questions :
    Quelle est ton problème exactement ? (fatal error, warning, not found, page blanche ...) ?
    Ton script fonctionne il bien en local ?
    0
  2. Nico_ Messages postés 1220 Date d'inscription   Statut Membre Dernière intervention   189
     
    bonsoir,
    voici ton code un peux modifié :
    <form action="#" method="post">
    <input type="text" name="mot">
    <input type="submit" name="submit" value="Envoyer">
    </form>
    
    <?php
    
    // Mettre le chemin du répertoire
    $d = dir(".");
    
    if(isset($_POST['submit']) && !empty($_POST['mot']) && isset($_POST['mot'])  )
    	{
    		$mot = trim($_POST['mot']);
    	
    		while($entry = $d->read()) 
    			{
    				preg_match("#($mot+?)#s", $entry, $new);
    								
    				if (!empty($new)) 
    					{ 
    						echo '<a href="'.$entry.'">'.htmlentities($entry).'</a><br />'; 
    					}
    			
    			}
    					if (empty($new)) 
    					{
    						echo ' Aucun fichier trouvé ' ; 
    					}
    		 
    		$d->close();
    	}
    ?>


    Bonne soirée
    0