Original geschrieben von speed(y)g $txt1[] = preg_split('/_/', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
--------------------------------------------------------------------------------
hier bekomme ich ein Array rein ($str)
Das filtere ich nach "_". Da kommt dann ein einzelner Wert (Name) heraus.
Perlen der Informatikkunst - "Collage 2006" - zu besichtigen in Dortmund, Halle des Chaos, täglich ausser montags.
Ich denke dein Ansatz funktioniert nicht. Du kannst das txtfile nicht zeilenweise gegen die Datenbank abarbeiten. Darin liegt der Denkfehler, nach dem Du am Anfang gefragt hast.
Du musst das ganze txtfile einlesen und zwischenspeichern. Erst danach darfst Du mit der Datenbank den Abgleich machen.
Viel Erfolg - viel Glück.
[edit: Mit dem "ich bekomme ein array" hast Du hier einige irregeführt, darunter auch mich. Du hast, bei deinem Ansatz nur jeweils 1 Zeile verarbeitet. Unter array würde jeder verstehen, dass da alle Zeilen drin sind. Dass man den host-namen-string noch preg-array-splittet war Nebensache, das heisst preg_match wäre für sowas der Situation angemessener. ]
Original geschrieben von penizillin h31ss, sehe ich das richtig, dass du n anfragen an die datenbank schickst, wenn die text-datei n einträge enthält?
Teilweise. Es war aber letzthin falsch.
Mein Code war die fehlerfreie Version von seinem Originalcode und seinem Ansatz, aber sein Ansatz funktioniert denkfehlerweise grundlegend nicht, siehe einer meiner obigen Kommentäre. Das habe ich erst nachher bemerkt.
Solang er sein File im verborgenen in Zeilen aufbricht, kann man nichts weiter machen.
Originaler Frager muss der Funktion vergleich(..) das ganze Textfile , bzw. den relevanten Ausschnitt aller Zeilen auf einmal übergeben, und nicht nur jeweils eine Zeile.
Kommentar