Chris: Bestimmte Zeilen einer Datei einlesen ?

Beitrag lesen

Hallo,

Angenommen die Datei hat 1000 Zeilen, ich benötige aber nur Zeile 50-100, damit ist der Rest nur Speichermüll für mich und bei 20 MB nicht tragbar ;-)

Nur mit PHP:
Zähler initialisieren
Datei mit Handle öffnen
mit fgets(...,0) bis vor Startzeile lesen.
mit fgets(...,genügend Zeilenlänge) bis zur Stopzeile die Daten in den Buffer holen
Datei schließen.

so wie ich das jetzt im Manual gelesen habe liest fgets() eine Zeile mit der angegeben Länge.

Glaube das passt bei mir nicht, weil ich ja nicht eine bestimmten Teil der Zeile, sondern eine bestimmte Zeile haben will ;-)

Oder hab ich das nicht verstanden ?

Datei:

Zeile 1
Zeile 2
Zeile 3

Ich möchte hier jetzt nur Zeile 2 einlesen, weil ich den Rest nicht brauche, dazu müste ich einen Anfangs und eine Endwert setzen können.

Habe da fseek() gefunden, aber da geht es um die Bytes der Datei und nicht um die Zeilen ;-) Woher weiss ich den wieviele Bytes vor meinem Startpunkt liegen, dafür muss ich die Datei doch erst einlesen durchzählen etc ... ;-(

... Danke und Grüße

Chris ;-)