Rechercher : dans
Par :

Recherche fichier php

Dernière réponse le 18 oct 2005 à 02:25:29 flopad, le 17 oct 2005 à 16:16:23 
 Signaler ce message aux modérateurs

Bonjour,

je mets en place un intranet et je souhaite y intégrer un moteur de recherche. Or étant débutant en html, php,.... je galère.
Je voudrais modifier le code suivant afin de pouvoir scanner tous les sous-dossiers et exclure les fichiers gif et html :
<?
// si le formulaire n'a pas encore ete envoye
if (getenv('REQUEST_METHOD') == "GET")
{
?>
<p><font size="4" color="#800000"><b><u><i><br>
Moteur de recherche des fonctions PHP.<br>
</i></u></b></font></p>

<form action="<? echo getenv('SCRIPT_NAME'); ?>" method="post">
<p>Tapez le nom de la fonction ou une partie du nom sans les ():
<input type="text" name="fonction" size="25" maxlength="100"><br>
<input type="submit" value="Chercher"></p>
</form>
<?
}

// si le formulaire a deja ete envoye
else
{
// recupere le nom de la fonction
$fonction = $HTTP_POST_VARS['fonction'];

// si la valeur de $fonction est vide
// -> on redirectionne sur la meme page pour voir le formulaire
if (empty($fonction)) header ("Location: ".getenv('SCRIPT_NAME'));

// le dossier ou se trouvent les fichier html
// il faut mettre un \ devant un autre \
// pour empecher le caractere d'exclusion
$dossier = "../qualite/*.*\\";

// ouvre le dossier
$biblio = opendir($dossier);

// affichage du formulaire a nouveau
?>
<p><font size="2" color="#800000"><b><u><i>
Moteur de recherche des fonctions PHP.
</i></u></b></font></p>

<form action="<? echo getenv('SCRIPT_NAME'); ?>" method="post">
<p>Tapez le nom de la fonction ou une partie du nom sans les ():
<input type="text" value="<? echo $fonction; ?>" name="fonction"
size="25" maxlength="100"><br>
<input type="submit" value="Chercher"></p>
</form>
<p><hr></p>
<?
// transforme les _ en -
$fonction = str_replace("_","-", $fonction);

// on scanne le dossier fichier par fichier
while ($page = readdir($biblio))
{
// si la valeur de $fonction se trouve dans le nom de la page
if (stristr($page,$fonction))
{
// on affiche le lien
echo ("<a href='".$dossier.$page."'>".$page."</a><br>");
}
}
}
?>


Merci d'avance pour votre aide.

Meilleures réponses pour « Recherche fichier php » dans :
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
[PHP] Notice: Undefined index: VoirSi vous utilisez les tableaux $_POST ou $_GET pour récupérer les variables de vos formulaires ou autres, il se peut que vous tombiez sur cette erreur: Notice: Undefined index 'champs du tableau' in 'chemin du fichier php en cours d'execution' on line...
Il est possible de récupérer le code source PHP d'un site VoirMythe Un utilisateur peut récupérer le code source PHP d'un site web comme il peut récupérer le code HTML. Réalité FAUX Explications Les fichiers PHP (ASP, JSP, etc.) sont des fichiers interprétés côté serveur, ce qui signifie que le serveur web...

1

 kilian, le 18 oct 2005 à 02:25:29

Apparemment tu as tout ce qu'il faut sauf le tri des fichiers par extensions.
Pour tester si un fichier se termine par .gif, tu peux utiliser les expressions régulières avec ereg()

L'expression régulière pour savoir si une chaine se termine par gif ça donne:

"\.gif$"

Voir: http://www.commentcamarche.net/php/phpreg.php3

Donc pour tester si un fichier se termine par ".gif", ça donne:
if (ereg("\.gif$",$nom_du_fichier)){
         //Le fichier se termine par .gif
}

Répondre à kilian
Collection CommentÇaMarche.net