Mailinglisten-Archive |
Hallo! In einer Datei sind bestimmte News-Daten gespeichert. Jede Zeile steht hier für ein Newsposting, und diese Zeile ist nochmal unterteilt in Autor, Email ..., die durch ein |:| getrennt sind. Nun hab ich folgendes Problem: Die Datei ist ziemlich groß, über 400 kb, und wenn ich jetzt versuche Postings eines bestimmten Autors zu finden, wird das Script nach 30 Sekunden beendet. Ich gehe zur Zeit so vor: Jede Zeile wird von Anfang an einzeln eingelesen, und dann mit $daten=explode("|:|", $newsdata) in einem Array gespeichert. Der Name des Autors steht hier z.b. an 1. Stelle, also $daten[0]. Danach wird $daten[0] mit dem gesuchten Autor ($autor) verglichen, und wenn das Ergebnis positiv ist, soll das gesamte Newsposting aus gegeben werden. $x=fopen($news_file,"r"); $newsdata= chop(fgets($x,1500)); while (!feof($x)) { if (strlen($newsdata)>0 ){ $newsdata = trim($newsdata); $daten = explode("``x",$newsdata); if ($daten[0]==$autor) { usw... } } Gibt es vielleicht eine elegantere und vorallem schnellere Lösung für mein Problem? mfg, Jan Harjes --- url: http://www.nd4spd.de
php::bar PHP Wiki - Listenarchive