Effettuare ricerche su file di testo

10/05/2007

L'interazione tra PHP e MySQL permette di creare applicazioni avanzate con le quali separare anche "fisicamente" le informazioni gestite dal cantenuto della nostra Web root; non sempre questo è però possibile, infatti in alcuni casi potremmo trovarci a lavorare in progetti di piccole dimensioni per i quali non è stato previsto l'utilizzo del DBMS.

Per quanto sia sempre consigliabile la soluzione che prevede l'acquisto di un database di supporto, è comunque possibile utilizzare semplici alternative come i file di testo, che possono essere sfruttati per l'archiviazione delle informazioni.

Nell'esempio riportato in questo tutorial, mostreremo la procedura per effettuare ricerche attraverso un file di testo: per la separazione dei vari records, abbiamo supposto che ogni informazione sia separata dall'altra tramite il segno della virgola (",").

Ecco il codice della nostra piccola applicazione:

<?php
//definiamo la parola da cercare
$key = "Php";
$search = array();

//introduciamo il file su cui cercare
$righe = file('linguaggi.txt');
foreach ($righe as $riga) {

//separiamo le righe trasformandole in records
//su cui cercare
$result = explode(',', trim($riga));
for ($j=0; $j<count($result); $j++) {

//troviamo le corrispondenze
if ($result[$j]==$key) {
//inseriamo il record trovato nell'array
array_push($search, $riga);
   }
  }
}
//mostriamo i risultati
if (count($search)) {
 for ($j=0; $j<count($search); $j++)
 echo $j." - ".$search[$j]."</br />";
 } else {

//messaggio alternativo in assenza di risultati
echo "La ricerca non ha prodotto risultati";
}
?>
La variabile definita per la ricerca, potrà anche essere passata allo script tramite metodo (Post o Get) in modo da creare un piccolo ma efficiente motore di ricerca su file di testo.

© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Stampa :: Torna alla Home