Petit moteur qui ne marche pas
narvaline
-
sebshiva Messages postés 198 Statut Membre -
sebshiva Messages postés 198 Statut Membre -
Bonjour,
j'ai ici un code d'un moteur de recherche(en php) que j'ai inserer dans une des pages d'un site web (que je suis entrain d'elaborer) mais qui ne marche pas (pour des raisons que j'ignore biensur :d)
voila c'est sencé rechercher le mot "internet" (vous l'aver remarqué :d) mais au fait ça affiche toujours le mm message: "Indiquez un nom de dosier!!!" et ça me déboussole completement!
est ce que quelqu'un peut me dire pourquoi et comment ça marche ce truc? paske comme vous pouvez le constater chuis une newbe en php et je me trouve coincée.
merci à vous et voila le scripte:
<?
$recherche = "internet";
$page_courante = "moteur.php";
$dossier_départ = "site_projet";
function dossier($dossier,$recherche,$page_courante) {
$pointeur = opendir($dossier);
readdir($pointeur);
readdir($pointeur);
while($contenu = readdir($pointeur)) {
if(is_dir($dossier.$contenu)) {
dossier($dossier.$contenu."/",$recherche,$page_courante);
}
else {
if($dossier.$contenu != $page_courante) {
$contenu_fichier = join("",file($dossier.$contenu));
$contenu_fichier = @strip_tags($contenu_fichier);
if(ereg("$recherche(.{0,100})",$contenu_fichier,$sortie)) {
echo $dossier.$contenu." :<br>$recherche".$sortie[1]."<br><br><br>";}
}
}
}
}
if(is_dir($dossier_départ))
{dossier($dossier_départ,$recherche,$page_courante);}
else {echo "Indiquez un nom de dossier !!!";}
?>
j'ai ici un code d'un moteur de recherche(en php) que j'ai inserer dans une des pages d'un site web (que je suis entrain d'elaborer) mais qui ne marche pas (pour des raisons que j'ignore biensur :d)
voila c'est sencé rechercher le mot "internet" (vous l'aver remarqué :d) mais au fait ça affiche toujours le mm message: "Indiquez un nom de dosier!!!" et ça me déboussole completement!
est ce que quelqu'un peut me dire pourquoi et comment ça marche ce truc? paske comme vous pouvez le constater chuis une newbe en php et je me trouve coincée.
merci à vous et voila le scripte:
<?
$recherche = "internet";
$page_courante = "moteur.php";
$dossier_départ = "site_projet";
function dossier($dossier,$recherche,$page_courante) {
$pointeur = opendir($dossier);
readdir($pointeur);
readdir($pointeur);
while($contenu = readdir($pointeur)) {
if(is_dir($dossier.$contenu)) {
dossier($dossier.$contenu."/",$recherche,$page_courante);
}
else {
if($dossier.$contenu != $page_courante) {
$contenu_fichier = join("",file($dossier.$contenu));
$contenu_fichier = @strip_tags($contenu_fichier);
if(ereg("$recherche(.{0,100})",$contenu_fichier,$sortie)) {
echo $dossier.$contenu." :<br>$recherche".$sortie[1]."<br><br><br>";}
}
}
}
}
if(is_dir($dossier_départ))
{dossier($dossier_départ,$recherche,$page_courante);}
else {echo "Indiquez un nom de dossier !!!";}
?>
A voir également:
- Petit moteur qui ne marche pas
- Petit point vert snap ✓ - Forum Snapchat
- Petit 2 ✓ - Forum Windows
- Moteur ecoboost - Guide
- Pourquoi mon moteur de recherche change tout seul ✓ - Forum Google Chrome
- Trier du plus petit au plus grand excel - Guide
2 réponses
slt encore
si g bien compris ce "if..." teste si le dosier de depart de la recherche est un repertoire, si c'est le cas il effectue la recherche sinon il affiche le message "Indiquez un nom de dosier!!"
mais moi lui ai indiqué de chercher dans "site_projet" et c'est le repertoire ki contient le site pourkoi le test n'est pas valide alors? c ça ke j comprend pas
merci de me repondre
si g bien compris ce "if..." teste si le dosier de depart de la recherche est un repertoire, si c'est le cas il effectue la recherche sinon il affiche le message "Indiquez un nom de dosier!!"
mais moi lui ai indiqué de chercher dans "site_projet" et c'est le repertoire ki contient le site pourkoi le test n'est pas valide alors? c ça ke j comprend pas
merci de me repondre
Bon, y'a personne?
ça m'a amusé de me pencher sur ton problème...
J'ai revu entièrement (ou presque) ta fonction.
Je suis parti d'une petit fonction de Malalam et voici ce que ça donne:
Voilou
Bonne journée.
~~(-_-)~~
ça m'a amusé de me pencher sur ton problème...
J'ai revu entièrement (ou presque) ta fonction.
Je suis parti d'une petit fonction de Malalam et voici ce que ça donne:
$recherche = "internet";
$page_courante = "moteur.php";
$dossier_départ = "site_projet";
function recursive_readdir ($dir,$recherche,$pageCourante) {
$dir = rtrim ($dir, '/'); // on vire un eventuel slash mis par l'utilisateur de la fonction a droite du repertoire
if (is_dir ($dir)) // si c'est un repertoire
$dh = opendir ($dir); // on l'ouvre
else {
echo $dir, ' n\'est pas un repertoire valide'; // sinon on sort! Appel de fonction non valide
exit;
}
while (($file = readdir ($dh)) !== false ) { //boucle pour parcourir le repertoire
if ($file !== '.' && $file !== '..') { // no comment
$path =$dir.'/'.$file; // construction d'un joli chemin...
if (is_dir ($path)) { //si on tombe sur un sous-repertoire
recursive_readdir ($path,$recherche,$pageCourante); // appel recursif pour lire a l'interieur de ce sous-repertoire
}
else
{
$fichier=explode('/',$path);
if ($pageCourante!==$fichier[count($fichier)-1])
{
$contFile=file_get_contents($path);
if(ereg("$recherche(.{0,50})",$contFile,$sortie)) {
echo $path." :<br>$recherche".$sortie[1]."<br>";}
}
}
}
}
closedir ($dh); // on ferme le repertoire courant
}
recursive_readdir ($dossier_départ,$recherche,$page_courante);
Voilou
Bonne journée.
~~(-_-)~~
g pas compris à vrai dire :p...
merci encore