[php] Datei einlesen und Datensätze erkennen

2TAKTER

Lt. Junior Grade
Registriert
Okt. 2005
Beiträge
399
hi

also ich möchte eine datei einlesen z.B. teilnehmer.txt
diese sieht so aus:
auto udo
wohnort udo 2raum miete


auto jens
wohnort jens 2raum kauf


wohnort gabi 2raum pacht
addresse strasse10a
plz 01234
ort ausgedacht

auto gabi

per file() wäre vielleicht ungünstig, da dann jede zeile teil eines arrays wäre.
ich möchte die datei so auslesen
  • wohnung
  • auto

dies möchte ich weiter splitten z.B. wer hat alles eine wohnung
  • udo
  • jens
  • gabi

und noch weiter z.B. wer in einer 2raum zur pacht wohnt
  • gabi

und dann details zu gabi
  • addresse strasse10a
  • plz 01234
  • ort ausgedacht


OK jetzt könnte man natürlich sagen "hey strukturier doch die txt eindeutiger" ... geht aber nicht bzw nur begrenzt... ich kann über jede Zeile ein Kommentar setzen, mehr aber nicht... ich weiß das prob ist jetz etwas schwierig umrissen aber ich hoffe ihr habt vorschläge.

danke
 
Du mußt die Datei zeilenweise einlesen und anhand des ersten Wortes entscheiden, wie du mit dem Inhalt der Zeile verfährst. Wenn am Anfang "auto" steht, ist's ein Auto, wenn "wohnung" steht, ist's ne Wohnung, bei den anderen Anfangswörtern gehört die Zeile zum/r "aktuellen" Auto bzw. Wohnung.

greetings, Keita
 
<?php

$file = "teilnehmer.txt";

if(file_exists($file)) {

$fp = fopen($file, 'r');

while(!feof($fp)) {

$zeile = fgets($fp,500);
$daten = explode(" ", $zeile);

if($daten[0] == "auto") {

$auto .= "$daten[1] , ";

}
elseif($daten[0] == "wohnung") {

$wohnung .= "$daten[1] , ";

}
elseif($daten[0] == "wohnung" && $daten[2] == "2raum" && $daten[3] == "pacht") {

$2raumpacht .= "$daten[1] , ";

}

}

fclose($fp);

}

?>


mit dem letzten punkt zum thema adresse auslesen zu der betreffenden person, da müsste man noch zeilen zählen und dann gucken wenn "adresse" kommt was ne zeile drüber als name steht, damit man das irgendwie zuordnen kann.
 
Zurück
Oben