Datei => schreiben,lesen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datei => schreiben,lesen

    Hallo,
    wie kann ich einzelne Zeilen in eine Datei schreiben bzw. aus einer Datei lesen? Ich habe 3 Variablen, deren Werte ich untereinander in 3 Zeilen der Datei schreiben möchte. Bisher schreibt php mir alle Daten in eine Reihe & das ist beim auslesen etwas schlecht...Sorry, bin php newbie...oder gibt es eine Möglichkeit alles bis zu einem bestimmten Zeichen einzulesen? Dann könnte man ja ein Trennzeichen in der Datei setzen...
    Vielen Dank für eure Antworten
    ciao
    Alex

  • #2
    einzelne zeilen trennst Du mit \n
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Comment


    • #3
      das dachte ich eigentlich auch...aber beim schreiben in eine Datei scheint das nicht zu klappen :-( Hast du eine Ahnung warum?

      Comment


      • #4
        wie schreibst Du denn in die Datei?
        Beantworte nie Threads mit mehr als 15 followups...
        Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

        Comment


        • #5
          <?php
          $fh = fopen("stimmen.dat","r+");
          switch ($auswahl)
          {
          case 1: $datum1++;
          break;
          case 2: $datum2++;
          break;
          case 3: $datum3++;
          break;
          }

          fwrite ($fh,"d1=$datum1 .\n d2=$datum2 .\n d3=$datum3");
          fclose($fh);

          echo "datumausgabe=".$datum1;
          echo "$datum2";
          echo "$datum3";

          ?>
          aber da ist noch der wurm drin, da er die Variablen immer überschreibt, deswegen muß ich ja auch wissen wie man die einzelnen Zahlen in einzelne Variablen packt! Nur dummerweise kann ich nicht immer 3 Zeichen in eine Variable einlesen, da ich nicht weiß welche Länge die Zahlen haben! Den Wert der Variable Auswahl bekomme ich von einem Flash Movie.
          MfG
          Alex

          Comment


          • #6
            nimm doch ein Trennzeichen
            fwrite($fh,"$datum1;$datum2;$datum3");
            beim auslesen kannste das mit explode() wieder trennen
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Comment


            • #7
              Oder versuch das mal so:
              fwrite ($fh,"d1=$datum1 .[COLOR=crimson]\r[/COLOR]\nd2=$datum2 .[COLOR=crimson]\r[/COLOR]\nd3=$datum3");
              Immer erst mal gucken, ob Benzin im Tank ist ...

              Comment


              • #8
                vielen Dank für eure Tips, ich werde das gleich mal ausprobieren & mich danach noch einmal melden!
                schönen Abend noch
                Alex

                Comment


                • #9
                  ich bin's nochmal...leider mit einer schlechten Nachricht :-( irgendwie klappt das nicht...hier mal mein modifizierter Quelltext...

                  <?php
                  $fh = fopen("stimmen.dat","w+");
                  $auslesen = explode(";",$fh);

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

                  switch ($auswahl)
                  {
                  case 1: $datum1++;
                  break;
                  case 2: $datum2++;
                  break;
                  case 3: $datum3++;
                  break;
                  }

                  fwrite($fh,"$auslesen[0];$auslesen[1];$auslesen[2]");
                  fclose($fh);
                  ?>

                  in der Datei steht dann folgendes:
                  Resource id #1;;

                  es sollte dort aber eigentlich
                  1;0;0
                  stehen...

                  wo habe ich einen Fehler gemacht? Stimmt meine Zuweisung $datum => array nicht? Wäre nett wenn ihr nochmals antworten könntet...naja, ich werde jetzt erstmal gefrustet schlafen gehen...aber als Anfänger ist aller Anfang schwer ;-)
                  N8
                  Alex

                  Comment


                  • #10
                    PHP Code:
                    <?
                    $fh = file("stimmen.txt"); 
                    $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; 

                    $fh = fopen("stimmen.txt","w+"); 
                    fwrite($fh,"$datum1;$datum2;$datum3"); 
                    fclose($fh); 
                    ?>
                    Last edited by mkJack; 06-05-2002, 07:40.
                    Immer erst mal gucken, ob Benzin im Tank ist ...

                    Comment


                    • #11
                      Guten Morgen,
                      vielen Dank für deine Umarbeitung, das klappt jetzt wunderbar...
                      ich mußte nur noch dem array den aktuellen datumswert übergeben,aber das ist ja kein Problem.
                      Ich hätte allerdings noch eine Frage zu deinem Quelltext:

                      [COLOR=crimson]$auslesen = split(";",$fh[0]);[/COLOR]

                      was bewirkt das mit dem $fh[0], ich hatte ja nur $fh stehen...
                      ich habe zu der Splitfunktion in meinem Buch nichts gefunden.

                      Schönen Tag
                      Alex
                      Last edited by Alex0903; 06-05-2002, 07:55.

                      Comment


                      • #12
                        Erläuterung:

                        $fh = file("stimmen.txt");

                        $fh ist in diesem Fall ein Array
                        $fh[0] = Zeile 1 der Datei
                        $fh[1] = Zeile 2 der Datei
                        usw.

                        Zeile 1 der Datei soll übernommen und am Semmikolon getrennt werden.
                        $auslesen = split(";",$fh[0]);

                        $auslesen ist auch ein Array in das mit split alle getrennten Werte geschrieben werden.

                        In deinem Fall:
                        $auslesen[0]
                        $auslesen[1]
                        $auslesen[2]
                        Immer erst mal gucken, ob Benzin im Tank ist ...

                        Comment


                        • #13
                          Super ! Vielen Dank für deine Erläuterung!
                          Schönen Abend
                          Alex

                          Comment

                          Working...
                          X