Download-Zähler

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

  • Download-Zähler

    Hallo!

    Ich möchte wissen, wie oft auf den Download-Link gedrückt wurde.

    Wie stelle ich das am besten an?

    Also von dem Link aus, dann noch mal auf eine Seite verlinken wäre eine Möglichkeit (denn die Seitenaufrufe werden ja gezählt), aber das finde ich unzumutbar, sich da so wild durch die Gegend zu klicken.

    Am besten wäre es einen Zähler in einer Datei zählen zu lassen, aber was passiert wenn 2 User gleichzeitig den Download starten, d.h. wenn ich die Datei öffnen will um den Zähler hochzuzählen und die Datei aber schon geöffnet ist, weil in dem gleichen Moment der Zähler wegen einem anderen User hochgezählt wird?

  • #2
    also ich wuerd es so machen (so hab ich es naemlich gemacht ):

    du gibst im "download"-link nen link auf ne phpseite mit ner ID die zu dem file gehoert an ...

    auf dieser phpseite erhoeste dann den wert des downloadcounters um 1 und sendest danach per header und per fread fput und den ganzen lustigen funktioenen dat file an den browser des users ....


    $speed = 8.5; // 8,5 kb/s download rate limit

    header("Cache-control: private");
    header("Content-type: $sendmime");
    header("Content-Length: ".filesize($ordner.$file));
    header("Content-Disposition: attachment; filename=\"$file\"");
    flush();
    $fd = fopen($ordner.$file, "r");
    while(!feof($fd)) {
    echo fread($fd, round($speed*1024));
    flush();
    sleep(1);
    }
    fclose ($fd);


    waere nen ansatz ....
    musst halt noch den mimetype angeben ... die groesse (filesize ... etc etc ...)
    ueber $speed haste sogar ne geschwindigkeitsbegrenzung falls du sowas bruachst ...

    das ist jetzt damit der download beim klicken auf den link automatisch anfaengt ....
    wie du den counter erheost solltest wissen ....

    greetz
    iglo

    Kommentar


    • #3
      Also von dem Link aus, dann noch mal auf eine Seite verlinken wäre eine Möglichkeit
      schon richtig gedacht. du machst ein weiteres script, welches die datei zum user schickt und den counter eins nach oben setzt.

      Code:
      UPDATE counter SET count = count + 1 WHERE downloadid = 3;
      aber suche doch einfach mal hier im forum. da gibt es 100%ig deine angestrebte lösung.
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        puuh

        Puuh, das ist schon mehr als ich erwartet habe, aber auch ein bischen etwas anderes. Vielleicht liegt es auch daran, dass man meistens fertigen Code erwartet

        Aber nun nochmal mein Problem: es liegt an dem "gleichzeitigen".

        Angenommen 2 User klicken gleichzeitig:
        In der Datei steht der Zähler zu Beginn auf 5.

        Öffnen der Datei, da User A auf Download geklickt hat.
        Lese Zähler=5 aus

        Öffnen der Datei, da User B auf Download geklickt hat.
        Lese Zähler=5 aus

        Erhöhe den Zähler um 1, wegen User A

        Erhöhe den Zähler um 1, wegen User B

        SPeichere, wegen A

        Speichere, wegen B

        Eigentlich müsste der Wert 7 sein, ist aber 6.

        Das ist das Problem. Wie vermeide ich es?

        Kommentar


        • #5
          lass das mal die sorge der DB sein. das ist kein problem.
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            oder vielleicht ohne PHP?

            Hallo!

            Also oben habe ich da etwas schlecht erklärt. Man muss sich da quasi 2 Threads vorstellen, die aber gleichzeitig auf die selbe Datei zugreifen. Dann wird eben der Zähler nicht 7, sondern 6.

            Aber vielleicht geht es ja auch ganz ohne PHP?

            Von dem Download-Link verlinke ich auf eine andere Seite. Diese wird ja dann in den Stats gezählt (also der Aufruf).


            Jetzt muss ich es nur noch schaffen, dass der User dann weiter nichts mehr klicken muss und sich der Download automatisch startet.

            Geht das irgendwie?

            Kommentar


            • #7
              keine DB, nur TextDatei

              Mein Problem ist, dass ich keine DB hab, sondern nur eine TextDatei.

              Aber wenn das so wie oben gehen würde, wärs schon ok.

              Kommentar


              • #8
                mit textdateien geht es zwar auch. ich kann davon aber nur abraten. hier hättest du nämlich in der tat dein zählproblem.

                nimm einen hoster, der mysql mit drin hat. die kosten heutzutage ja auch nix mehr.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  geht nicht

                  Hallo!

                  Geht leider nicht, diese Entscheidung ist schon seit längerem 1/2 Jahr gefallen.

                  Aber wenn ich nun wüsste, wie der Download automatisch startet, wenn die Seite aufgerufen wird, hat sich das Problem eigentlich erledigt.

                  Kommentar


                  • #10
                    siehe post von kapitaeniglo
                    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                    Kommentar


                    • #11
                      Oder wenn du möchtest, kannst du auch mal hier vorbei schauen. http://www.dclp-faq.de/q/q-datei-download.html
                      mfg
                      Günni


                      Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                      Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                      Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                      City-Tiger - Online durch die Straßen tigern...

                      Kommentar

                      Lädt...
                      X