Oppure

Loading
21/12/11 16:29
Ilvince
salve a tutti ho un problema, ho fatto un motore di ricerca senza database che legge nelle cartelle i file e fa un controllo con la parola che sto cercando se il file e una cartella la apro e leggo i file al suo interno , la lettura delle sottocartelle funziona ma non mi effettua la ricerca e non capisco perchè
<?php

$cerca=$_REQUEST['cerca'];  //richiamo la parola che sto ricercando

$dir=opendir('./'); //gli dico dove cercare le pagine(e quindi apro la cartella)


//SE NON APRE LA CARTELLA SEGNALE L'ERRORE
if(!$dir)  
{ 
    $err = error_get_last();    
    echo 'errore opnedir:'.$err['message']; 
}

$no_exst = array(".js",".css",".xml",".jpg",".psd");   //estensioni di file da evitare

while ($lettura = readdir($dir))   //qui leggo la cartella e metto in una variabile il file letto
{	
	if(is_dir($lettura))//se è una cartella entro 
	{
		if(!(($lettura== "..") || ($lettura == ".")))				//escludo le cartelle. e .. perche rislagono a quella corrente e ad un livello superiore
		{	
			
			$letto=opendir($lettura);						 //apro la cartella
			while ( readdir($letto)) 				//leggo la sottocartella
			{	
					if(is_dir($letto)== false)					//se all'interrno della sottocartella c'è un'altra cartella la escludo
					{	
						$file_array[] = $letto;					//inserisco nell'array
					}
				
			}
		}				
	}
	
	else
	{
	
		$file_array[] = $lettura;	//inserisco nell array i file della cartella
	}
}
	
echo("risultati trovati per ".$cerca.":</br>");
echo("<TABLE align=\"center\">");
foreach ($file_array as $file) 
{
	
		
	
		
		#######################
		
	//se il file inizia con .. o . lo tralascio
	if ( $file == ".." || $file == ".") 
	{
		continue;
	}
			
					
	
	
	//carico tutta la pagina senza tag
	$contrfile=strip_tags(@file_get_contents($file));	
	
	//trasformo il contenuto in minuscolo
	$contrfile=strtolower($contrfile);
	//trasformo quello che sto cercando in minuscolo
	$cerca=strtolower($cerca);
	
	//controllo se nel file c'è la parola che stiamo cercando
	
	if(strstr($contrfile,$cerca)!=NULL)
	{
	
		$sd = explode(".", $file);  //separiamo il nome del file
          $ultimo = end($sd);       //distinguiamo le estensioni dal nome 
        
                 //controllo l'estensione se è segnata nella lista da non cercare 
        if (!in_array(".".$ultimo, $no_exst)) 
		{ 	
			$e=substr(strrchr($file, "."), 0); // azzero l'estensione
			$a=" "; //sostituisco lo spazio vuoto con il relativo codice html

			$nome=ereg_replace($e, $a, $file); // sostituisco codice
	
			//carico la pagina con i tag
			$contrtitle=file_get_contents($file);
			//prelevo cio che è tra i tag title
			preg_match_all("(<title>(.*?)</title>)", $contrtitle , $risultato );
	
	

	
			echo "<TR><TD>";
			echo "<a href=\"$file\" title=\"$nome\" class=\"link1\"><font size=\"4\" face=\"arial\" >";
			echo($risultato[1][0]);			// stampo il risultato tra i tag title
			echo"</font></a> <br>"; //questo crea il link
			echo "<font size=\"2\" face=\"arial\" color=\"#41a62a\"> http://www.dominio.it/".$file."</font><br>"; //stampo dov'è il link
			$meta_tag =get_meta_tags($file);//prelevo tutti i meta-tag
			echo("<font size=\"3\" face=\"arial\">".$meta_tag["description"]."</font>");//stamo il meta-tag description
			echo("<br><br>");
		}
	}
}
	
?>


grazie a tutti per il vostro tempo ed il vostro aiuto
Ultima modifica effettuata da Ilvince 21/12/11 16:31
aaa