Hello,
Nur mit PHP:
Zähler initialisieren
Datei mit Handle öffnen
mit fgets($fh,genügend Zeilenlänge) bis zur Startzeile die Daten in den Mülleimer leiten
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 ?
Ja, das hast Du nicht ganz richtig verstanden. Ich habe da aber auch einen Schreibfehler reingetippt.
Datei:
Zeile 1|diese Zeile 2 it länger |Zeile 3 hat auch Daten||die vierte war leer|und in der schsten verdammten Zeole stehen total viele Daten, die will einfach nicht mher aufhören und geht noch ein halbes Jahrhundert so weiter|ist schon merkwürdig, dass Dateien in Wirklichkeit gar keine Zeilen kennen | |Man kann auch Leerzeilen mit Leerzeichen füllen<EOF>
Hier musst Du Dir nun vorstellen, dass | immer das Zeilendendezeichen darstellt und <EOF>das Ende des Files. Das ist aber auch nur bekannt, weil die gültige Länge der Datei im Betriebssystem (Filesystem) vermerkt ist. Denn ein <EOF>-Zeichen gibt es in Wirklichkeit nicht mehr.
Wenn Du also jetzt die Zeilen lesen willst, dann muss das Filesystem im Auftrag des Betriebssystems die Datei Byte für Byte (Cluster für Cluster) einlesen und an die Applikation weiterreichen. PHP bietet hierfür die Möglichkeit, nur immer soviele Daten zu holen, bis das Zeilenende, Das DAteieinde oder die Anzahl Zeichen erreicht sind. Der Dateizeiger steht dann nach jedem fgets() auf dem Anfang der nächsten Zeile, sofern die Zeilenlänge zum Lesen ausreichend hoch eingestellt war.
Ein
$muelleimer = fgets($fh, genügend Bytes )
veranlasst den Dateizeiger also, zum nächsten Zeilenanfang vorzurücken.
Das musst Du dann ur in einer Schleife oft genug wiederholen.
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.
Nein, Du musst mitzählen.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau