Voting Script: Stimmen in Datei schreiben

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

  • Voting Script: Stimmen in Datei schreiben

    Ich habe ein Voting Script, welches jede Stimme in eine Textdatei schreibt.
    Wird z.B. drei Mal für CDU gevotet, schreibt es in die Textdatei folgendes
    Code:
    cdu|
    cdu|
    cdu|
    Klar, dass bei vielen Votes die Datei schnell sehr groß wird. Deshalb möchte ich das Script so anpassen, dass die Textdatei folgendermassen aussieht:
    Code:
    spd|831|
    cdu|1331|
    fdp|979|
    gruene|331|
    andere|131|
    keine|22|
    Was ich schon geschafft habe ist, dass er mir die Stimmen aus der Textdatei ausliest und anzeigt bzw. Prozente daraus berechnet. Ich habe nur keine Ahnung wie ich, sobald sich die Zahl der Stimmen durch Stimmabgabe erhöht hat, diese zurück in die Datei an genau diese Stelle schreibe. Hat jemand einen Tipp ? Auch sollte bei 999 Stimmen durch Erhöhung nicht 000 sondern 1000 herauskommen.

    Vielen Dank schonmal !

  • #2
    fopen() - datei zum lesen öffnen
    fread() - auslesen
    fclose()
    $inhalt auseinandernehmen
    eine stimme dazu rechnen
    $inhalt neu zusammensetzen
    fopen() - datei zum überschreiben öffnen
    fwrite() - neuen $nhalt reinschreiben
    fclose()

    Kommentar


    • #3
      'ne andere Methode wüsst ich bei textdateien auch net, aber das kann zu problemen führen, wenn du viele Zugriffe hast...

      Kommentar


      • #4
        PHP-Code:
        function array2file($array$filename) {
            
        $file fopen($filename"w");
            
        fwrite($fileserialize($array));
            
        fclose($file);
        }

        function 
        file2array($filename) {
            if (
        file_exists($filename)) {
                
        $file fopen($filename"r");
                
        $array unserialize(fread($filefilesize($filename)));
                
        fclose($file);
                return 
        $array;
            } else return 
        $array = array();

        Benutzung ist trivial:
        PHP-Code:
        $votes file2array('votes.txt');
        $votes[$_GET['partei']]++
        array2file($votes'votes.txt'); 
        Natürlich solltest du in den Funktionen noch eventuelle Fehler abfangen.

        Kommentar

        Lädt...
        X