Habe eine Frage zu auslesen einer datei

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Habe eine Frage zu auslesen einer datei

    Hallo zusammen,

    ich habe eine frage, ich möchte eine datei auslese, die folgend´s aufgebaut ist:

    12;2;2964;Kleiner Text
    36;69;2145;Kleiner Text
    1;12;9614;Kleiner Text

    also immer 1 oder 2 zahlen dann ";" dann wieder 1 oder 2 Zahlen dann wieder ";" dann 4 Zahlen dann wieder ";" und dann ein kleiner text vermute maximal 30 zeichen

    viele werden jetzt danken ist ja nicht schwer einfach
    PHP-Code:
    <?
    $fh = file("meinedatei.dat"); 
    $auslesen = split(";",$fh[0]);

    $datum1 = $auslesen[0]; 
    $datum2 = $auslesen[1]; 
    $datum3 = $auslesen[2]; 

    switch ($auswahl) 

    case 1: $datum1++; 
    break; 
    case 2: $datum2++; 
    break; 
    case 3: $datum3++; 
    break; 


    fclose($fh); 
    ?>
    des hab ich hier aus dem forum hilft mir aber nicht wirklich weiter, weil es bei mir nicht 3 daten sind (datum1, datum2, datum3) sonder des werden bei mir immer mehr, ich weiß also nie vie viele es wirklich sind, und es werden nie unter 20 sein.


    noch ein problem ist das bis zum ersten ";" soll es $wert1 sein bis zum zeiten ";" $wert2 is zum dritten ";" $wert3 und dann der kleine Text $wert4

    sollte des mit den $wertx nicht hinhauen dann wäre es nicht so schlimm so lange jede zeile dann $wertx hat.

    ich hoffe mir kann jemand helfen, wäre sehr dankbar da ich noch nicht lange mit php herum "experimentieren"


    mfg
    dominator

  • #2
    du hast ne seltsame art dich auszudrücken.

    guck dir mal an, was im manual für beispiele unter file() stehen.

    statt split nimmst du dann lieber (ebenfalls) implode und gut ist.

    Kommentar


    • #3
      wieso einfach wenn´s umständlich auch geht


      irgendwie bin ich der sache nicht ganz gewachsen, ich glaub es wäre einfache wenn man die datei (zeile für zeile) durchsuchen könnt. Ich mein wenn die Datei wieder folgends aufgebaut ist:

      15;94;9735;Kleiner Text
      7;64;6314;Kleiner Text
      3;9;3578;Kleiner Text
      36;1;7812;Kleiner Text

      und dann soll des script bis zum erstn ; schaun wenn diese zahl gleich $wert1 ist dann soll es zur zweiten gehen ist die gleich $wert2 dann zur dritten und ist dich auch gleich $wert3 dann soll es diese zeile aber nur diese zeile importieren und zwar mit dem split befehl.

      ist das möglich oder geht des nur mit mysql datenbänken?

      mfg
      dominator

      Kommentar


      • #4
        klar geht das, wenn ich das richtig verstanden habe
        Code:
        $fh = file("meinedatei.dat"); 
        // ne schleife wäre nett
        foreach($fh as $zeile){
            // hier ein explode
            $array = explode ( string separator, string string [, int limit]);
            // bitte kein Post das gibt ein parse error das musst Du ausformulieren wie Du es brauchst
            // und jetzt Deine Bedingungen
            if($array[0] == $wert1 && $array[1] == $wert2 && $array[2] == $wert3){
                // dann mach was immer Du willst mit der Zeile ($zeile)
            } 
        }
        btw.
        wenn Du file() benutzt brauchst Du nicht das hier: fclose($fh);
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Kommentar


        • #5
          also irgendwie blick ich bei dem code noch nicht ganz durch

          //bitte kein Post das gibt ein parse error das musst Du ausformulieren wie Du es brauchst
          was meinst du damit? Was muss ich ausformulieren? Das es fehler gibt ist mir schon klar so viel verstehe ich schon da in der zeile darüber kein wert angegben ist, oder so.

          Kommentar

          Lädt...
          X