PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : alle zeichenfolgen aus txt datei auslesen und in mysql einlesen



lamberty
13-09-2001, 09:33
hallo user,
ich habe mehrere txt dateien mit zeichenfolgen die durch leerzeichen von einander getrennt sind nun würde ich gerne diese einzelnen zeichenfolgen in eine Mysql-datenbank übernehmen jeweils eine zeichenfolge eine id und wenn die möglichkeit besteht auch die position....

na ja ich hoffe es hatt jemand eine lösung oder vieleicht eine anregung wie man vorgehen könnte..

gruß Norbert

iGEL
13-09-2001, 18:03
Moin!

Mit dem Einlesen von Dateien hab ich zwar nicht soviel Ahnung; vielleicht gibt es eine bessere Methode, die ganze Datei in eine einzige Zeichenkette einzulesen.


$fd = fopen ("file.txt", "r");

while (!feof($fd)) {
$buffer = fgets($fd, 4096);
ereg(" ([^ ]*) ", $buffer, $match);

do
mysql_query("insert into table (text) values ('". current($match) ."')";
while (next($match));

unset($match);
}
fclose ($fd);

ereg durchsucht $buffer nach einem Regulären Ausdruck (Nimm alles, was zwischen zwei Leerzeichen steht) und schreib es in das Array $match.
current liefert das aktuelle Element eines Arrays zurückt,
next macht genau das selbe, rückt aber den internen Zeiger ein Element weiter. Wenn es kein nächstes Element gibt, wird false zurückgeben.

Da ich nicht weiss, ob ereg das Array vor dem beschreiben entleert, lösche ich $match jedesmal aus dem Speicher. Ausserdem muss man sagen, dass der reguläre Ausdruck eventuell suboptimal ist, da er wirklich nur Worte berücksichtigt, die zwischen zwei Leerzeichen steht. Das erste und letzte Wort in der Zeile werden also nicht berücksichtigt, wenn nicht davor und dahinter ein Leerzeichen ist.

cu Johannes

lamberty
25-09-2001, 00:16
also irgendwie klappt das micht??

:-(

gruß norbert