Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - ricerca nelle sottocartelle
Forum - PHP - ricerca nelle sottocartelle

Avatar
Ilvince (Normal User)
Newbie


Messaggi: 8
Iscritto: 16/09/2011

Segnala al moderatore
Postato alle 17:29
Mercoledì, 21/12/2011
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è
Codice sorgente - presumibilmente Delphi

  1. <?php
  2.  
  3. $cerca=$_REQUEST['cerca'];  //richiamo la parola che sto ricercando
  4.  
  5. $dir=opendir('./'); //gli dico dove cercare le pagine(e quindi apro la cartella)
  6.  
  7.  
  8. //SE NON APRE LA CARTELLA SEGNALE L'ERRORE
  9. if(!$dir)  
  10. {
  11.     $err = error_get_last();    
  12.     echo 'errore opnedir:'.$err['message'];
  13. }
  14.  
  15. $no_exst = array(".js",".css",".xml",".jpg",".psd");   //estensioni di file da evitare
  16.  
  17. while ($lettura = readdir($dir))   //qui leggo la cartella e metto in una variabile il file letto
  18. {      
  19.         if(is_dir($lettura))//se è una cartella entro
  20.         {
  21.                 if(!(($lettura== "..") || ($lettura == ".")))                           //escludo le cartelle. e .. perche rislagono a quella corrente e ad un livello superiore
  22.                 {      
  23.                        
  24.                         $letto=opendir($lettura);                                                //apro la cartella
  25.                         while ( readdir($letto))                                //leggo la sottocartella
  26.                         {      
  27.                                         if(is_dir($letto)== false)                                      //se all'interrno della sottocartella c'è un'altra cartella la escludo
  28.                                         {      
  29.                                                 $file_array[] = $letto;                                 //inserisco nell'array
  30.                                         }
  31.                                
  32.                         }
  33.                 }                              
  34.         }
  35.        
  36.         else
  37.         {
  38.        
  39.                 $file_array[] = $lettura;       //inserisco nell array i file della cartella
  40.         }
  41. }
  42.        
  43. echo("risultati trovati per ".$cerca.":</br>");
  44. echo("<TABLE align=\"center\">");
  45. foreach ($file_array as $file)
  46. {
  47.        
  48.                
  49.        
  50.                
  51.                 #######################
  52.                
  53.         //se il file inizia con .. o . lo tralascio
  54.         if ( $file == ".." || $file == ".")
  55.         {
  56.                 continue;
  57.         }
  58.                        
  59.                                        
  60.        
  61.        
  62.         //carico tutta la pagina senza tag
  63.         $contrfile=strip_tags(@file_get_contents($file));      
  64.        
  65.         //trasformo il contenuto in minuscolo
  66.         $contrfile=strtolower($contrfile);
  67.         //trasformo quello che sto cercando in minuscolo
  68.         $cerca=strtolower($cerca);
  69.        
  70.         //controllo se nel file c'è la parola che stiamo cercando
  71.        
  72.         if(strstr($contrfile,$cerca)!=NULL)
  73.         {
  74.        
  75.                 $sd = explode(".", $file);  //separiamo il nome del file
  76.           $ultimo = end($sd);       //distinguiamo le estensioni dal nome
  77.        
  78.                  //controllo l'estensione se è segnata nella lista da non cercare
  79.         if (!in_array(".".$ultimo, $no_exst))
  80.                 {      
  81.                         $e=substr(strrchr($file, "."), 0); // azzero l'estensione
  82.                         $a=" "; //sostituisco lo spazio vuoto con il relativo codice html
  83.  
  84.                         $nome=ereg_replace($e, $a, $file); // sostituisco codice
  85.        
  86.                         //carico la pagina con i tag
  87.                         $contrtitle=file_get_contents($file);
  88.                         //prelevo cio che è tra i tag title
  89.                         preg_match_all("(<title>(.*?)</title>)", $contrtitle , $risultato );
  90.        
  91.        
  92.  
  93.        
  94.                         echo "<TR><TD>";
  95.                         echo "<a href=\"$file\" title=\"$nome\" class=\"link1\"><font size=\"4\" face=\"arial\" >";
  96.                         echo($risultato[1][0]);                 // stampo il risultato tra i tag title
  97.                         echo"</font></a> <br>"; //questo crea il link
  98.                         echo "<font size=\"2\" face=\"arial\" color=\"#41a62a\"> http://www.dominio.it/".$file."</font><br>"; //stampo dov'è il link
  99.                         $meta_tag =get_meta_tags($file);//prelevo tutti i meta-tag
  100.                         echo("<font size=\"3\" face=\"arial\">".$meta_tag["description"]."</font>");//stamo il meta-tag description
  101.                         echo("<br><br>");
  102.                 }
  103.         }
  104. }
  105.        
  106. ?>


grazie a tutti per il vostro tempo ed il vostro aiuto

Ultima modifica effettuata da Ilvince il 21/12/2011 alle 17:31


IlVince
PM