hab kaum plan hilfe wäre fein

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

  • hab kaum plan hilfe wäre fein

    Hallo

    also ich hab so ziehmlich 0 Ahnung von den aus lesen von schleifen hatte mich aber vergblich schon umgeschaut und nirgends was gefunden wo ich durch blicke.

    Meine textdatei:

    id|time|nexttime|mache dies
    id|time|nexttime|mache dies
    usw (variable anzahl von weiteren Einträgen)

    da ich von den variablen zeug kein plan hab sag ich es mal wörtlich
    time = aktuelle Zeit + nexttime
    timeAktuell =Serverzeit,localzeit oder wie das heist

    ist timeAktuell < nexttime
    echo "mache dies";
    edit time in der zeile
    und fertig mit auslesen

    ist timeAktuell > nexttime gehe zur nächsten zeile usw

    ist textdatei zu ende kein eintrag also
    echo "fertig";

  • #2
    Sonntagmorgen, code nicht getestet, also keine Garantie ;-)

    $aktuelleZeit = time();

    $zeilen = array(); // hier kommen die verarbeiteten Zeilen der Datei rein.
    $zeilenRoh = file("datei.txt"); // Datei einlesen


    foreach ($zeilenRoh as $zeileRoh)
    {
    $zeile = explode("|",$zeileRoh); // durch "|" getrennte Einträge in Array aufteilen
    array_push($zeilen, $zeile); // Aufgeteiltes Array zu End-Array hinzufügen
    }

    // Überprüfung, ob Datei leer

    if (count($zeilen) < 1)
    die ("Keine Anweisungen in Datei.");

    // Zeilen abarbeiten
    // Wir benutzen "for" statt "foreach", um das Array auch bearbeiten zu können (Aktualisierung von Feld "time" bei Ausführung eines Befehls)

    for ($i=0; $i <= count($zeilen); $i++)
    {

    if ($zeile[$i][2] <= $aktuelleZeit) // Wenn Job ansteht...
    {
    echo($zeile[$i][3]); // "mache dies" ausgeben
    $zeile[$i][1] = $aktuelleZeit;
    } // end if

    } // end foreach

    } // end for

    // Aktualisiertes Array in Datei zurückschreiben

    $datei = fopen("datei.txt","w+"); // Datei öffnen. Mit "w+" wird die Datei überschrieben.

    foreach ($zeilen as $zeile)
    {
    $temp = implode("|",$zeile); // Hier wird aus dem Array wieder eine Zeile mit durch "|" getrennten Einträgen.

    // Den Zeilenumbruch \n müssen wir nicht hinzufügen, weil er schon in $zeile[3] vorhanden ist

    fwrite($datei, $temp);
    }

    fclose($datei);

    echo "Fertig!";
    Zuletzt geändert von pekka; 12.05.2002, 11:14.

    Kommentar


    • #3
      hm geht leider nicht

      also der bringt erst mal nen fehler in zeile 34

      dann schreibt der die neu berechnete zeit nicht in die textdatei sondern ergänzt immer wieder nen zeilenumbruch auf alle zeilen bei 1 aufruf bis auf die lezte zeile. und das immer weiter als immer dazu pro aufruf

      dann geht die ausgabe immer zu

      0Fertig!

      Kommentar


      • #4
        Was für ein Fehler kommt in Zeile 34? Ich kann beim überfliegen grad keinen finden.

        Kommentar


        • #5
          Parse error: parse error in d:\easyphp\www\counter\ps.php on line 34

          achso der wert nexttime soll ein zeitintervall sein zb15 min

          aktuellezeit+zeitintervall=time(nexttime)

          der dann in der textdatei als time(nexttime) gespeichert werden soll
          glaub da muß doch die zeile erst mit variablen gesplittet werden oder
          und sobald er eine zeile gefunden hat mit
          aktuellezeit <= time(aus der textdatei)
          dann mache dies
          edit time(nexttime) in der gefunden zeile
          und ende

          die nächst mögliche zeile soll erst beim erneueten aufruf des scriptes erfolgen
          hatte das glaube nicht richtig verständlich erwähnt

          die angabe mit id kann auch weg bleiben wenn das einfacher ist

          big thx aber schon mal an dich
          Zuletzt geändert von marko2; 12.05.2002, 21:09.

          Kommentar


          • #6
            Ist die Zeile 34 im Code auch gleichbedeutend mit der Zeile 34 in dem Schnipsel? Kannst Du den genauen Inhalt der Zeile durchgeben?

            Kommentar


            • #7
              hatte das script so wie du es mir vorgeschlagen hattes eingebunden und mir die text datei dazu erstellt

              da kommt dann immer

              Parse error: parse error in d:\easyphp\www\counter\ps.php on line 34

              Kommentar


              • #8
                } // end foreach <- Die Zeile muss weg. Die foreach Schleife wurde schon längst geschlossen ....

                Kommentar

                Lädt...
                X