WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   [PHP] mehrere bestimme Bereiche einer Datei auslesen (http://www.wcm.at/forum/showthread.php?t=205050)

alexA320 05.12.2006 17:13

[PHP] mehrere bestimme Bereiche einer Datei auslesen
 
Hallo Leute!

Ich habe schon die Suchfunktion genutzt und gegooglet doch habe bis jetzt noch kein brauchbares Ergebnis:

Ich möchte aus einer Textdatei aus jeder Zeile eine bestimmte Information auslesen. Die Datei ist so aufgebaut:

xxx:xxxx:xxx:xxxx:xxx
xx:xxx:xxx:xxxx:xxxx
xxx:xxxx:xxx:xxxx:xxx
xxx:xx:xxx:xxxx:xx
xx:xxxx:xxx:xxxx:xxx

Das heißt also das die einzelen Datenabschnitte durch ":" getrennt ist.

Wie kann ich das jetzt bewerkstelligen, dass die ganze Datei durchkämmt wird und in jeder Zeile z.B. der Dritte Abschnitt ausgelesen wird.

Wahrscheinlich ist es ganz einfach aber ich steh grad auf dem Schlauch :(

Danke für eure Hilfe!:-)

boeing2707 05.12.2006 17:22

Du mußt einen Zähler mitlaufen lassen und diesen jedesmal beim Auffinden eines ":" um 1 erhöhen. Sobald drei Doppelpunkte gefunden wurden, beginnt das Auslesen bis zum nächsten ":". Der Zähler muß nun natürlich wieder auf NULL gesetzt werden.

pong 05.12.2006 18:20

in einer Schleife positioneren und mit substr http://at.php.net/manual/de/function.substr.php den gewünschten Begriff rausholen

pong

alexA320 05.12.2006 18:37

Erstmal danke für die Antworten :-)

Zitat:

Original geschrieben von pong
in einer Schleife positioneren und mit substr http://at.php.net/manual/de/function.substr.php den gewünschten Begriff rausholen

pong

Ich glaube das geht leider nicht, da die Anzahl der Zeichen vor dem Begriff meistens unterschiedlich ist

Zitat:

Original geschrieben von boeing2707 Du mußt einen Zähler mitlaufen lassen und diesen jedesmal beim Auffinden eines ":" um 1 erhöhen. Sobald drei Doppelpunkte gefunden wurden, beginnt das Auslesen bis zum nächsten ":". Der Zähler muß nun natürlich wieder auf NULL gesetzt werden.
ja sowas hab ich mir gedacht, aber leider noch keine Ahnung wie ich das praktisch umsetzen soll. Ich hab mit Dateien in PHP noch kaum gearbeitet. Wie bring ich den Zeiger dann zu Stoppen? :confused:

Ich hoffe ich geh euch nicht auf die Nerven...

reemrev 05.12.2006 18:47

Textdatei zeilenweise auslesen mit fgets(), dann aus der Zeile mit explode eine array bilden(:=Trennzeichen) und der 2.Arrayeintrag ist dein gesuchter Wert (weils mit 0 beginnt).

$fp=fopen("datei.txt","r");
while($line=fgets($fp,1024)) {
teile=explode(":",$line);
wert=teile[2];
}

fclose($fp);

pong 05.12.2006 18:59

Zitat:

Ich glaube das geht leider nicht, da die Anzahl der Zeichen vor dem Begriff meistens unterschiedlich ist
behirnen, was ich schreibe, dann meckern

pong

alexA320 05.12.2006 19:07

Zitat:

Original geschrieben von reemrev
Textdatei zeilenweise auslesen mit fgets(), dann aus der Zeile mit explode eine array bilden(:=Trennzeichen) und der 2.Arrayeintrag ist dein gesuchter Wert (weils mit 0 beginnt).

$fp=fopen("datei.txt","r");
while($line=fgets($fp,1024)) {
teile=explode(":",$line);
wert=teile[2];
}

fclose($fp);

That's it!

Danke für die Hilfe :bier:


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag