Moteur de recherche de fichiers

Fermé
sti-1 - Modifié par sti-1 le 18/01/2011 à 20:57
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 - 18 janv. 2011 à 22:13
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>
A voir également:

2 réponses

Bablon Arnaud Messages postés 74 Date d'inscription jeudi 13 janvier 2011 Statut Contributeur Dernière intervention 9 décembre 2011 11
Modifié par Bablon Arnaud le 18/01/2011 à 22:04
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
Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
18 janv. 2011 à 22:13
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