Mailinglisten-Archive |
Hallo Thomas, thomas hausheer schrieb: > > Hallo Liste > > Kennt jemand ein Suchscript, dass ohne MySQL funktioniert. Ich möchte einen > Suchmaschine implementieren, die auf einer Homepage ohne MySQL verschiedene > Text-Files nach einem Suchbegriff durchforstet und ausgibt. Ich habe so etwas einmal gemacht, das Script ist aber so unsauber programiert, das ich Dir das wirklich nicht anbieten möchte. Der Nachteil ist, das man mit allem (was ich versucht habe) leider nur wirklich genaue Treffer finden kann. Also Funktionen habe ich strpos eingesetzt, das war bei meinen Tests das schnellste. Also in etwa so: smax = 100; // Max Ergebnisse $begriff= strtolower($begriff); list ($begriff1, $begriff2)=explode(" ",$begriff); $f=opendir("./daten/"); $fn=readdir($f); while ($fn): $fn=readdir($f); $datei="./daten/".$fn; $liste=_(at)_fopen("$datei", "r+"); if ($liste <= 0): // echo("Fehler: Daten nicht vorhanden"); else: $eintrag=chop(fgets($liste,10000)); while(feof($liste)==0 and $anzahl <= $s_max): $eintrag=chop(fgets($liste,10000)); $search_it= strtolower($eintrag); $search_it=".".$search_it; //Damit auch das erste Wort gefunden werden kann if (strpos($search_it,$begriff1) or strpos($search_it,$begriff2)): -> DatensatzAusgabe Wobei ich nach konkreten "Datensätzen" in Textfile (csv-Format) gesucht habe. Wenn Du einfacvh nur wissen willst, ob etwas im file enthalten ist, sollte es so gehen. ->Durch das Verzeichnis laufen ->Datei mit fread öffnen ->Durchzuchen mit strpos oder eregi (bei mir war strpos schneller - weis der PHP-Guru warum) ->Datei merken (im array) ->wenn gefunden gleich nächste Datei (damit vermeidet mann doppelte Treffer. -> ->Ergebnis ausgeben Das nur als kleiner Workaround. Zu sehen unter http://www.utopton.de/katalog/tontraeger/ Als Tip noch: wichtig ist, die Besuchereingabe für die maximale Treffer-Anzahl richtig zu checken, sonst läüft sich der Server bei einem Buchstaben fast tot. Gruß Michael (der an dieser Geschichte dringend mal wieder arbeiten muß) -- -------------------------------------------------------- Michael Stahmann, web-xact.de <website-development> http://www.web-xact.de mailto:info_(at)_web-xact.de Burchardstr. 10, D-28217 Bremen, Tel/Fax 0421-3887750/51 -------------------------------------------------------- Sinnloser Bildschirmschoner: http://schlammpeitzger.de
php::bar PHP Wiki - Listenarchive