A voir également:
- Moteur de recherche interne en php
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Easy php - Télécharger - Divers Web & Internet
- Installer qwant moteur de recherche - Télécharger - Navigateurs
- Stockage interne - Accueil - Guide Android
1 réponse
Voilà le code au juste:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<?php
//teste si la page correspond à la recherhce
function teste()
{
global $texte, $l1, $l2, $l3, $l4;
$sat1=true;
$sat2=true;
if ($l1!='' && strpos ($texte, $l1)===false) {$sat1=false;}
if ($l2!='' && strpos ($texte, $l2)===false) {$sat1=false;}
if ($l1 =='' &&$l2 =='') {$sat1=false;}
if ($l3!='' && strpos ($texte, $l3)===false) {$sat2=false;}
if ($l4!='' && strpos ($texte, $l4)===false) {$sat2=false;}
if ($l3 == '' && $l4=='') { $sat2=false;}
return $sat1 || $sat2;
}
//Récupération des locutiions à rechercher
$l1 = strtoupper (stripslashes ($_POST['l1']));
$l2 = strtoupper (stripslashes ($_POST['l2']));
$l3 = strtoupper (stripslashes ($_POST['l3']));
$l4 = strtoupper (stripslashes ($_POST['l4']));
//Lecture de la page de formulaire
$fp = fopen ('mrech.htm', 'r');
$page = fread ($fp, 32000);
fclose ($fp);
$psb = strpos ($page, '</body>');
$page = substr ($page, 0, $psb);
$page.="\nRecherche de ".$l1;
if ($l2!='') { $page.=' ET '.$l2;}
if ($l3!='') { $page.=' OU '.$l3;}
if ($l4!='') { $page.=' ET '.$l4;}
$page.="<br /><br />\n";
//Lecture du catalogue du répertoire racine
$drac = getcwd();
$e = opendir ($drac);
while (($f=readdir($e)) !== false)
{
if (($f !='.') && ($f != '..')){
if (strpos ($f, '.') === false) { $dirs[] = $f;
}else{
if (strpos ($f, '.htm') !== false) { $fhtm[] = $f;}
}
}
}
//Lecture des sou-répertoires
foreach ($dirs as $srep)
{
$dr = $drac.'/'.$srep;
$e = opendir ($dr);
while (($f = readdir($e)) !== false){
if (($f != '.') && ($f != '..')){
if (strpos ($f, '.') !== false){
if (strpos ($f, '.htm') !== false){
$fhtm[] = $srep.'/'.$f;
}
}
}
}
}
//Examen des fichiers
$n=0;
foreach ($fhtm as $fnam)
{
$fich = fopen ($fnam, 'r');
$texte = strtoupper (fread ($fich, 32000));
fclose ($fich);
if (teste())
{
$n++;
$page.='<a href"'.$fnam.'">'.$fnam.'</a> ';
if ($n==5)
{
$page.="<br />\n";
$n=0;
}
}
}
echo $page."\n</body></html>";
?>
</body>
</html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<?php
//teste si la page correspond à la recherhce
function teste()
{
global $texte, $l1, $l2, $l3, $l4;
$sat1=true;
$sat2=true;
if ($l1!='' && strpos ($texte, $l1)===false) {$sat1=false;}
if ($l2!='' && strpos ($texte, $l2)===false) {$sat1=false;}
if ($l1 =='' &&$l2 =='') {$sat1=false;}
if ($l3!='' && strpos ($texte, $l3)===false) {$sat2=false;}
if ($l4!='' && strpos ($texte, $l4)===false) {$sat2=false;}
if ($l3 == '' && $l4=='') { $sat2=false;}
return $sat1 || $sat2;
}
//Récupération des locutiions à rechercher
$l1 = strtoupper (stripslashes ($_POST['l1']));
$l2 = strtoupper (stripslashes ($_POST['l2']));
$l3 = strtoupper (stripslashes ($_POST['l3']));
$l4 = strtoupper (stripslashes ($_POST['l4']));
//Lecture de la page de formulaire
$fp = fopen ('mrech.htm', 'r');
$page = fread ($fp, 32000);
fclose ($fp);
$psb = strpos ($page, '</body>');
$page = substr ($page, 0, $psb);
$page.="\nRecherche de ".$l1;
if ($l2!='') { $page.=' ET '.$l2;}
if ($l3!='') { $page.=' OU '.$l3;}
if ($l4!='') { $page.=' ET '.$l4;}
$page.="<br /><br />\n";
//Lecture du catalogue du répertoire racine
$drac = getcwd();
$e = opendir ($drac);
while (($f=readdir($e)) !== false)
{
if (($f !='.') && ($f != '..')){
if (strpos ($f, '.') === false) { $dirs[] = $f;
}else{
if (strpos ($f, '.htm') !== false) { $fhtm[] = $f;}
}
}
}
//Lecture des sou-répertoires
foreach ($dirs as $srep)
{
$dr = $drac.'/'.$srep;
$e = opendir ($dr);
while (($f = readdir($e)) !== false){
if (($f != '.') && ($f != '..')){
if (strpos ($f, '.') !== false){
if (strpos ($f, '.htm') !== false){
$fhtm[] = $srep.'/'.$f;
}
}
}
}
}
//Examen des fichiers
$n=0;
foreach ($fhtm as $fnam)
{
$fich = fopen ($fnam, 'r');
$texte = strtoupper (fread ($fich, 32000));
fclose ($fich);
if (teste())
{
$n++;
$page.='<a href"'.$fnam.'">'.$fnam.'</a> ';
if ($n==5)
{
$page.="<br />\n";
$n=0;
}
}
}
echo $page."\n</body></html>";
?>
</body>
</html>