Recherche fichier php
flopad
Messages postés
528
Date d'inscription
Statut
Membre
Dernière intervention
-
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
kilian Messages postés 8732 Date d'inscription Statut Modérateur Dernière intervention -
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.
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.
A voir également:
- Recherche fichier php
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
1 réponse
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:
Voir: http://www.commentcamarche.net/php/phpreg.php3
Donc pour tester si un fichier se termine par ".gif", ça donne:
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 }