Moteur de recherche

Résolu/Fermé
cavujo Messages postés 49 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 2 mars 2014 - 3 mars 2009 à 22:42
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 - 4 mars 2009 à 00:37
Bonjour,
Je dispose de vidéos et de musiques tout format dont je suis l'entier auteur, et j'aurais voulu afficher un moteur de recherche (interne) sur ma page d'accueil pour facilement les retrouver dans les dossiers de mon localhost.À savoir deux dossiers : video et musique.(mon .php d'accueil est au même endroit que mes dossiers video et musique)

Cela est-il possible ? à savoir faire une recherche directement sur les fichiers contenu dans mes dossiers video et musique sans référencement de type MySQL ?

Merci de m'aider,


(débutant mais prêt à y passer des heures, des jours...mais pas des mois....quoique^^)
A voir également:

7 réponses

zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
3 mars 2009 à 23:34
Salut, c'est tout a fait possible. Vu que je me faisait un peu ch***, je me suis dit que ça me ferais un bon exercice ^^,
Donc sa donne ça :
	<!-- formulaire de recherche -->
	<form>
		<input type="text" name="search"/>
		<input type="submit"/>
	</form>
	<hr/>
<?php
	//Fonction de recherche
	function search($dir,$search) {
		//Compteur pour vérifier la présence de ficher et afficher l'erreur
		$i=0;		
		echo 'Dossier :'.$dir.'<br/>';		
		//Ouverture du répertoire
		if (is_dir($dir)) {
			if ($dh = opendir($dir)) {
				// Boucle sur chaque fichier du répertoire
				while (($file = readdir($dh)) !== false) {
					//On affiche uniquement si le nom du fichier correspond à la recherche
					if(ereg("$search(.{0,100})",$file,$sortie)) {
						echo '<a href="'.$dir.$file.'">'.$file.'</a><br>';
						$i++;
					}
				}
				//On ferme le repertoire
				closedir($dh);
			}
		}
		// Si on ne trouve rien
		if ($i === 0) {
			echo 'Rien ne correspond a votre recherche<hr/>';
		}
	}
	
	if(!empty($_GET['search'])) {
		$search = $_GET['search'];
		
		//Mettre le nom des dossier qui correspond bien ici
		$dossier[0] = "dossier1/";
		$dossier[1] = "dossier2/";
		
		$z = count($dossier);
		for ($i=0; $i < $z; $i++) {
			// lancement de la fonction de recherche
			search($dossier[$i],$search);
		}
	}
?>


Par contre, ça ne scanne pas les sous-dossiers. Voila.
0
cavujo Messages postés 49 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 2 mars 2014 1
3 mars 2009 à 23:44
merci à toi !

Je viens de l'intégrer à ma page d'accueil.....mais lorsque je fais une recherche : exemple atlas....une musique mp3 véritablement contenue dans mon dossier music...il ne me le trouve pas et m'indique ce que codé.

Sais tu pourquoi cela ne fonctionne pas ?
0
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
3 mars 2009 à 23:49
La je vois pas trop ce que tu veux dire. Il te met quoi exactement. Il est en ligne ton site ?
0
cavujo Messages postés 49 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 2 mars 2014 1
4 mars 2009 à 00:10
il me met
Dossier :video/
Rien ne correspond a votre recherche

....idem pour music...
j'héberge mon site avec wamp server...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
4 mars 2009 à 00:25
Euh, j'avais pas vu, c'est sensible a la casse, donc si tu as des majuscules dans tes fichiers, ca ne fonctionne pas.
Remplace :
if(ereg("$search(.{0,100})",$file,$sortie)) {

Par:
if(preg_match("#$search#i",$file)) {


Ça devrait mieux marcher.
0
cavujo Messages postés 49 Date d'inscription dimanche 30 décembre 2007 Statut Membre Dernière intervention 2 mars 2014 1
4 mars 2009 à 00:36
wouaa... ca marche tout simplement parfaitement

merci à toi zoby44, vraiment ^^
0
zoby44 Messages postés 818 Date d'inscription vendredi 3 novembre 2006 Statut Membre Dernière intervention 7 avril 2010 199
4 mars 2009 à 00:37
De rien. Met en résolu stp.
0