ancora un motore di ricerca...uffa!
ciao ragazzi, già ho scritto ieri per un problema con uno script simile a questo. però poi, quando è entrato in funziona, ho visto ke vale poco e nulla. quindi mi sono messo a lavorare e ho trovato uno script in php ke funziona da motore di ricerca per file. è composto da un file html ke costituisce il form di ricerca e un file php ke sarebbe il vero e proprio codice del motore e ke crea la pagina dei risultati. l'ho modificato in modo da fargli cercare solo tra i file di estensione .doc, .zip, .rtf, .txt. (ricordo ke il motore serve per fare una ricerca solo all'interno del sito) .
l'ho caricato su www.bigbrain.altervista.org/form.htm sotto al campo per l'insersione della parola ho messo 4 opzioni selezionabili ke servono a effettuare ricerche in cartelle diverse. ad esempio se si spunta l'opzione "italiano", lo script va a cercare i file che contengono quella parola SOLO nella cartella "italiano" del sito.
ora viene il problema. il problema è ke io nella cartella ITALIANO ho messo 3 file con nomi (e contenuti) diversi solo ke qualsiasi parola metto mi da per risultato sempre tutti e tre i file. come se non capisse ke deve cercare solo quei file ke contengono la paroal da me inserita nel form!
se potete leggere lo script e magari "aggiustarlo" ve ne sarei davvero grato!
ecco i codici:
il codice della pagina form.htm (ossia quella con lo spazio per la parola da cercare e le 4 opzioni) è questo:
Citazione:
<html>
<form method="POST" action="NEWSEARCH.php">
<TABLE><TR><TD>
Search our site: <input type="text" name="whatdoreplace" size="25"></TD><TD rowspan=2><input type="submit" value="Search" name="B1"></TD>
</TR>
<TR><TD>
[Latino<INPUT TYPE=radio name=where value=Latino>][Storia
<INPUT TYPE=radio name=where value=Storia>][Italiano
<INPUT TYPE=radio name=where value=Italiano>][Altro
<INPUT TYPE=radio name=where value=Altro>]
</TD></TR>
</TABLE>
</FORM>
</html>
lo script della pagina NEWSEARCH.php (ossia il vero e proprio script ke fa anke da pagina dei risultati) è questo:
Citazione:
<HTML><HEAD></HEAD><BODY BACKGROUND=background.gif>
<CENTER>
<FONT SIZE=-3 COLOR=BLUE><A HREF=mailto:admin.bigbrain@gmail.com><I>Contatta l'admin</I></A><BR><BR>
</FONT>
<BR>
<H2>Ecco i Risultati della tua ricerca</H2>
<HR>
<TABLE BORDER=0 width=95% spacing=0 CELLPADDING=0 CELLSPACING=0>
<TR><TD background=topbg.gif><BR></TD></TR>
<?Php
error_reporting(0);
$timex=time();
$timey=0;
$bgchange="FFFFFC";
$fchek=0;
$command[0]="0";
$dirtest="false";
#subfolder search options setup starts here
if($where=="Latino"){
$dirtest="true";
$linkdir="Latino/";
chdir('/membri/bigbrain/Latino');
$handle=opendir('.');
} elseif($where=="Storia"){
$linkdir="Storia/";
chdir('/membri/bigbrain/Storia');
$handle=opendir('.');
}elseif($where=="Italiano"){
$linkdir="Italiano/";
chdir('/membri/bigbrain/Italiano');
$handle=opendir('.');
}elseif($where=="Altro"){
$linkdir="Altro/";
chdir('/membri/bigbrain/Altro');
$handle=opendir('.');
} else {
$dirtest="true";
$linkdir="";
$handle=opendir('.');
}
#thats it, nothing else should be changed do not edit below this line.
while (($file = readdir($handle))!==false){
if (eregi("[a-zA-Z0-p_-]*.doc",$file) or eregi("[a-zA-Z0-p_-]*.rtf",$file)or eregi("[a-zA-Z0-p_-]*.txt",$file)or eregi("[a-zA-Z0-p_-]*.zip",$file)){
$fchek=$fchek+1;
$sizer=filesize($file);
$sizer=($sizer/1000);
$sizer=round($sizer,1);
$file=trim($file);
$file=chop($file);
$filed=file($file);
$fileold=$file;
$count = count($filed);
$i = $count;
$zt = 0;
$clt=0;
$found=0;
$stringer=0;
for($j=$zt;$j<$i;$j++){
$string=$filed[$j];
$stringer=$filed[$j];
$num = "regPLACE hold";
$string=strtolower($string);
$stringer=strtolower($stringer);
$whatdoreplace=strtolower($whatdorep
lace);
$string = ereg_replace($whatdoreplace, $num, $string);
if($string!=$stringer){
$found=$found+1;
$abby=$found;
$show[$found]=$stringer;
}
}
$dircount=count($file);
echo "<FONT SIZE=-1>";
if($found>0){
$command[0]=($command[0]+10);
if(eregi("[a-zA-Z0-p_-]*.txt",$file)){
$fileold=$file;
$file="$file";
if($dirtest=="true"){
$file=$fileold;
}
}
if($file=="index.html"){
if($bgchange=="EEEEEE"){
$bgchange="FFFFFF";
echo "</TD></TR><TR><TD BGCOLOR=$bgchange><BR><A HREF=\"$linkdir$file\" target=_new><FONT SIZE=+2>$file</A><BR>$data</FONT> Size: $sizer Kb<BR><UL>";
} else {
$bgchange="EEEEEE";
echo "</TD></TR><TR><TD BGCOLOR=$bgchange><BR><A HREF=\"$linkdir$file\" target=_new><FONT SIZE=+2>$fileold</A> </FONT> Size: $sizer Kb<BR><UL>";
}
} elseif($bgchange=="EEEEEE"){
$bgchange="FFFFFF";
echo "</TD></TR><TR><TD BGCOLOR=$bgchange><BR><A HREF=\"$linkdir$file\"><FONT SIZE=+2>$fileold</A></FONT> Size: $sizer Kb<BR>";
} else {
$bgchange="EEEEEE";
echo "</TD></TR><TR><TD BGCOLOR=$bgchange><BR><A HREF=\"$linkdir$file\"><FONT SIZE=+2>$fileold</A></FONT> Size: $sizer Kb<BR><UL>";
}
$file=$fileold;
for($new=1;$new<=$found;$new++)
echo "</UL></FONT></TD></TR>";
}
}
}
if($command[0]==0){
echo "<BR></TD></TR><TR><TD bgcolor=000000><CENTER><B><FONT SIZE=+2 COLOR=RED>Nessun risultato trovato!";
}
echo "<BR></TD></TR><TR><TD BGCOLOR=AAAAFF><CENTER><FONT SIZE=-1>Sono stati trovati $fchek file(s) in soli ";
$timey=time();
$timea=($timey-$timex);
echo " $timea secondi";
?>
<TD/></TD></TR></TABLE><BR><CENTER><IMG SRC=http://www.bigbrain.altervista.org/_altervista_ht/logo.GIF><TABLE>
</HTML>
vi prego aiutatemi...non ci capisco praticamente nulla di php. grazie.