Zeit-Voting und Dateiverschiebung

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

  • Zeit-Voting und Dateiverschiebung

    Hallo,

    ich bin auf der Suche (bisher leider nicht gefunden) nach einem Script welches alle X Minuten eine Umfrage durchführt. Dabei sollen Dateien aus einem Ordner ausgelesen werden.

    Die Datei die am meisten Votes erhalten hat, soll dann in einen anderen Ordner verschoben werden.

    Es ist ja sehr viel mit PHP/HTML möglich, Grundkenntnisse besitze ich etwas, bin Neueinsteiger, bekomme jedoch keinen Lösungsansatz hin.

    Würde mich auf Hilfe / Ideen oder bereits Fertige Systeme freuen.
    ich stöber in der Zwischenzeit im Forum rum.

    Gruß

    Tino

  • #2
    glob() wäre ein Anfang.

    Versuchs doch einfach mal selbst und poste wieder, wenn du nicht weiterkommst. Wir schauen dann gern auf deinen Code und helfen weiter.

    Kommentar


    • #3
      Also, ob es sowas schon fertig gibt, weiß ich nicht. Dafür müsstest du mal googeln. Ansonsten eben selberschreiben.
      Wenn ich das richtig verstehe, möchtest du, dass beim Laden einer Seite in bestimmten Zeitabständen ein Votingformular angezeigt wird. Du müsstest also in einer Textdatei den Timestamp speichern, wann das Formular zum letzten Mal angezeigt wurde (den Unix-Timestamp erhälst du mit time() ). Infos zum in eine Datei schreiben und aus einer Datei lesen findest du zuhauf im Netz. Wenn also diese bestimmte Zeit abgelaufen ist ( if ( time() > ( $gespeicherte_zeit + $wartezeit ) ) ), dann müsstest du den aktuellen Ordnerinhalt auslesen. Nähere Infos dazu gibts hier. Daraus müsstest du dann ein Formular basteln ( -> selfhtml.org ). Dann ist es am einfachsten du lässt für jede Datei eine Zählerdatei anlegen, die zu Anfang auf 0 ist (du kannst natürlich auch mit einer Datenbank arbeiten, aber für den Anfang ist es so vielleicht einfacher). Dann erhöhst du den Inhalt derjenigen Zähldatei, für deren Datei gevotet wurde. Und zu einem definierten Zeitpunkt werden die Votes aus den Zähldateien ausgewertet. Die Datei die gewonnen hat verschiebst du dann (php-Referenz -> Funktionen des Dateisystems).

      So, mehr Hilfestellung kann ich dir an dieser Stelle leider nicht geben. Programmieren musst du schon selber. Wenn du konkrete Fragen hast, kann man dir hier sicherlich weiterhelfen.

      Gruß
      Mathis

      Kommentar


      • #4
        Hallo,

        Okay ich versuche mal ... und melde mich wenn ich weitergekommen bin. Danke schon mal für die schnelle Antwort. Nettes Forum.

        Gruß

        Tino

        Kommentar


        • #5
          Hallo,

          sry im Moment fehlt mir echt ein Ansatz.

          // Das ist Okay und nicht mein Problem
          -> Das Script soll alle Dateien die im Ordner sind zum Voten anbieten

          // Hier fängt das Problem an
          -> Eine Umfrage geht 3 Minuten, danach soll die meist gevotete Datei in einen anderen Ordner verschoben werden.

          Das Problem besteht darin, das alle Besucher dieser Seite, die gleiche Restzeit haben sollen und nicht der 1. 3 Minuten, der 2. 2:20 Minuten usw. ... das wäre für ein Voting ungerecht.

          Denke nicht das sich es daher mit Timestamp noch mit Cookies lösen lässt.

          Habt Ihr Vorschläge?

          Gruß

          Tino

          Kommentar


          • #6
            So ganz versteh' ich den Sinn deines Scripts noch nicht. Ich meine es gibt doch eigentlich nur zwei Varianten:

            a) Der Benutzer kann zu einem beliebigen Zeitpunkt die Seite besuchen und hat dann 3 Minuten Zeit, das Voting zu beenden. Das ließe sich mit Sessions oder über die IP des Besuchers lösen. Allerdings würde ich bei dieser Variante den Sinn des ganzen nicht verstehen.

            b) Das Voting wird zu einem Zeitpunkt x gestartet und läuft dann von mir aus für 3 Minuten. In diesem Zeitfenster kann jeder beliebige Besucher, der Zutritt zur Seite hat, voten. Das wäre für mich nachvollziehbar und ganz einfach über Timestamps zu lösen:
            -> Du merkst dir den Zeitstempel zu Beginn des Votings in einer Datei
            -> Du fragst diese Datei bei jedem Seitenaufruf ab und schaust, ob der aktuelle Zeitstempel kleiner als der gemerkte Zeitstempel + 180 (3 Minuten = 180 Sekunden) ist. Wenn ja, dann läuft das Voting noch und es kann eine Stimme abgegeben werden. Wenn nein, dann ist das Voting abgelaufen und kann ausgewertet werden.
            Wie du alle Dateien in einem Ordner auslesen kannst (um sie dann zum Voting anzubieten), habe ich dir in meinem ersten Beitrag geschrieben (oder dir besser gesagt einen Link gegeben).

            Vielleicht solltest du nochmal gaaaanz genau schreiben, wie der Ablauf aussehen soll (am besten mit Beispieldateien und Beispielzeiten).

            Gruß
            Mathis

            Kommentar


            • #7
              Hallo,

              hier mal der grobe Ablauf, an einem Beispiel erklärt:

              -> Der Besucher besucht die Votingseite
              >>> Es wird ein "Upload-Ordner" gelistet, hier findet man Datei X, Y und Z
              >>> Der Besucher kann nun zwischen den gelisteten Dateien wählen
              >>> Er entscheidet sich für Datei Y
              >>> Wenn dann die Datei Y die meisten Votes bekommt wird Sie in einen anderen Ordner verschoben, von wo aus ein anderes Script eingereift und die Datei verarbeitet.

              -> Wenn die Zeit abgelaufen ist, soll ein neues Voting beginnen, es befinden sich jetzt noch Datei X und Z im Ordner zwischen denen gewählt werden kann. (gehen wir davon aus das sich mehrere 100 Bilder in dem Ordner befinden und täglich neue dazu kommen, praktisch soll das Script eine Endlosschleife bilden)

              Als Zeitbegrenzer habe ich mir überlegt, das das Voting z.B 21:10 bis 21:13, das nächste dann wieder 21:13 bis 21:16 Uhr läuft ....

              Hoffe es ist etwas verständlicher.

              Gruß

              Tino
              // PHP ist nun noch gare nicht meine Stärke ... ich arbeite dran
              Zuletzt geändert von tooliload; 25.04.2008, 20:23.

              Kommentar


              • #8
                Hallo,

                wenn hier jemand kostenpflichtig programmiert, soll er mir bitte Preis per PN oder Forum nennen.

                Danke.

                Gruß

                Tino

                Kommentar

                Lädt...
                X