kostenloser Webspace werbefrei: lima-city


Download Zähler

lima-cityForumlima-city Allgemeinlima-city Allgemein

  1. Autor dieses Themas

    meik6

    meik6 hat kostenlosen Webspace.

    Hallo zusammen

    Habe mir gerade Download-Volumen ersteigert. Nun wollte mal nachfragen ob man irgendwo sehen kann wie viel mal eine Datei schon heruntergeladen wurde?

    Danke
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das kannst du selbst mit einer Datenbank lösen. Jedes mal wenn jemand den Link anklickt erhöht sich der Zähler. Ansonsten geht das meines Wissens nicht. Ist nur ein anderer Server, bei dem du die Erlaubnis hast, Downloads anzubieten.
  4. c143 schrieb:
    Das kannst du selbst mit einer Datenbank lösen. Jedes mal wenn jemand den Link anklickt erhöht sich der Zähler. Ansonsten geht das meines Wissens nicht. Ist nur ein anderer Server, bei dem du die Erlaubnis hast, Downloads anzubieten.


    Oder Du benutzt CCount auf PHP-Basis ...PHP-Click-Counter
  5. h***e

    c143 schrieb:
    Das kannst du selbst mit einer Datenbank lösen. Jedes mal wenn jemand den Link anklickt erhöht sich der Zähler. Ansonsten geht das meines Wissens nicht. Ist nur ein anderer Server, bei dem du die Erlaubnis hast, Downloads anzubieten.


    Er braucht keine Datenbank er kann es auch mit einer Datei lösen das ich auch empfehle da der Server weniger ausgelastet wird und wenn der Datenbankserver ausgefallen ist läuft der Script auch weiter.
    Für kleinere Sachen ist es immer besser nur eine Datei zu benutzen und keine Datenbank.
  6. hpage schrieb:
    Er braucht keine Datenbank er kann es auch mit einer Datei lösen das ich auch empfehle da der Server weniger ausgelastet wird

    Wärest Du bereit, die Quelle deines Wissens offenzulegen? Warum belastet, deiner Meinung nach, ein Request auf die DB den Server mehr, als das Öffnen, Modifizieren und wieder Abspeichern einer Datei?

    hpage schrieb: und wenn der Datenbankserver ausgefallen ist läuft der Script auch weiter.

    ..sofern nicht die komplette Website auf den DB-Server angewiesen ist, was ja nicht so außergewöhnlich wäre. Aber das wissen wir beide nicht. :wink:

    Für kleinere Sachen ist es immer besser nur eine Datei zu benutzen und keine Datenbank.

    Das begründest Du mit welchen Argumenten?

    @topic:

    Allerdings ist auch schon die Empfehlung von c143 mit Vorsicht zu genießen. Die Nutzung einer Datenbank (oder einer von hpage empfohlenen Datei) allein, wird keinen Zähler ermöglichen.

    Es wird eine, wie auch immer geartete Prozedur benötigt, die den Klick auf den Download abfängt und, in geeigneter Form, an die Zählroutine übermittelt.

    Dafür gibt es 2 Möglichkeiten.

    1. Ein php-Skript, daß statt des Downöloadscriptes aufgerufen wird, den Download zählt und dann erst die aneforderte Datei ausliefert.

    2. Ein kleines Javascript, daß beim Klick auf den Download getriggert wird und den Zähler erhöht.

    Version 2 ist deutlich unzuverlässiger, da es nur dann funktioniert, wenn der downloadende User Javascript aktiviert hat.

    Bei beiden Varianten kann der Zähler in einer Datenbank oder einer Datei hinterlegt werden.
  7. fatfreddy schrieb:
    hpage schrieb:
    Er braucht keine Datenbank er kann es auch mit einer Datei lösen das ich auch empfehle da der Server weniger ausgelastet wird

    Wärest Du bereit, die Quelle deines Wissens offenzulegen? Warum belastet, deiner Meinung nach, ein Request auf die DB den Server mehr, als das Öffnen, Modifizieren und wieder Abspeichern einer Datei?

    hpage schrieb: und wenn der Datenbankserver ausgefallen ist läuft der Script auch weiter.

    ..sofern nicht die komplette Website auf den DB-Server angewiesen ist, was ja nicht so außergewöhnlich wäre. Aber das wissen wir beide nicht. :wink:

    Für kleinere Sachen ist es immer besser nur eine Datei zu benutzen und keine Datenbank.

    Das begründest Du mit welchen Argumenten?

    @topic:

    Allerdings ist auch schon die Empfehlung von c143 mit Vorsicht zu genießen. Die Nutzung einer Datenbank (oder einer von hpage empfohlenen Datei) allein, wird keinen Zähler ermöglichen.

    Es wird eine, wie auch immer geartete Prozedur benötigt, die den Klick auf den Download abfängt und, in geeigneter Form, an die Zählroutine übermittelt.

    Dafür gibt es 2 Möglichkeiten.

    1. Ein php-Skript, daß statt des Downöloadscriptes aufgerufen wird, den Download zählt und dann erst die aneforderte Datei ausliefert.

    2. Ein kleines Javascript, daß beim Klick auf den Download getriggert wird und den Zähler erhöht.

    Version 2 ist deutlich unzuverlässiger, da es nur dann funktioniert, wenn der downloadende User Javascript aktiviert hat.

    Bei beiden Varianten kann der Zähler in einer Datenbank oder einer Datei hinterlegt werden.


    Natürlich reicht eine Datenbank allein nicht. Ein PhP script dazu wird auch noch benötigt, aber ich glaube, das wird er schon schaffen. Ansonsten melde dich im passenden Forum.
  8. Da ich mich grad genau das selbe gefragt habe will ich mich hier gleich bedanken :)

    Ich denke ich werds mit php und einem Zähler machen der in eine Datei schreibt. Der Vorteil einer Datei oder Datenbank die hochzählt is ja eh das ich so wenigstens öffentlich anzeigen kann wie oft das ding schon runtergeladen wurde :)

    <po1>
  9. po1son schrieb:
    Da ich mich grad genau das selbe gefragt habe will ich mich hier gleich bedanken :)

    Ich denke ich werds mit php und einem Zähler machen der in eine Datei schreibt. Der Vorteil einer Datei oder Datenbank die hochzählt is ja eh das ich so wenigstens öffentlich anzeigen kann wie oft das ding schon runtergeladen wurde :)

    <po1>


    Ohne Datei oder Datenbank kannst du deine Daten gar nicht speichern. Variabeln verfallen.
  10. c143 schrieb:
    po1son schrieb:
    Da ich mich grad genau das selbe gefragt habe will ich mich hier gleich bedanken :)

    Ich denke ich werds mit php und einem Zähler machen der in eine Datei schreibt. Der Vorteil einer Datei oder Datenbank die hochzählt is ja eh das ich so wenigstens öffentlich anzeigen kann wie oft das ding schon runtergeladen wurde :)

    <po1>


    Ohne Datei oder Datenbank kannst du deine Daten gar nicht speichern. Variabeln verfallen.


    Hi, ja hab ich ja geschrieben :) "Ich denke ich werds mit php und einem Zähler machen der in eine Datei schreibt."

    Aber vorher guck ich mir noch diesen PHP Clickcounter an den domaindroid vorgeschlagen hat, die Beschreibung sieht gut aus

    Ccount uses flat-text database so no SQL databases are necessary. It comes with an admin panel where you can view link statistics: how many times a link has been clicked (both numerical and graphical display of stats), link with most clicks and average clicks per link. You can also easily add, edit, reset or remove links in the admin panel or even display the number of clicks on any web page.


    Beitrag zuletzt geändert: 15.1.2014 13:10:53 von po1son
  11. Durch den Satz, dass der der Vorteil eine öffentliche Anschauung ist, dachte ich mir, dass ichs lieber noch sag.

    Scripts von anderen zu verwenden ist auch sicher keine schlechte Idee und wie in der Beschreibung steht, arbeitet dieses mit einer Datenbank, was ich dir eh empfehlen würde. Einfach in ne Datei schreiben ist nicht so schlau. Für kleine Projekte kein Ding, aber gleich schon richtig lernen ist besser.
  12. Autor dieses Themas

    meik6

    meik6 hat kostenlosen Webspace.

    Danke für euere Antworten.

    So wie ich da verstanden habe würden erst gezählt werden und dann würde man zur entsprechenden Downloaddatei weitergeleitet werden? Heisst aber wenn jedand die URL zur Datei hat wird dieser Aufruf nicht mitgezählt?

    Verstehe ich das richig so?
  13. Ja bei einem direkten Aufruf der Datei kann nicht mitgezählt werden.
  14. Autor dieses Themas

    meik6

    meik6 hat kostenlosen Webspace.

    ok ich habe jetzt aber ein PHP script gefunden welches nach jedem download den Dateinamen ändert und somit ein direkter download nicht möglich ist. Da ich aber auf dem Donwload Server keine PHP laufen lassen kann und auf dem normalen Server keine Downloads anbieten darf scheidet diese Option nun aus und ich muss es anderste lösen?
  15. Du musst dem Script nur beibringen, daß die Datei für den Download auf dem Downloadserver liegt. Dann kannst du das Script auf deinem Space laufen lassen.

    Wenn du nicht genau weisst was du da wie ändern musst, dann zeige das Script oder melde dich per PN bei mir.
  16. Autor dieses Themas

    meik6

    meik6 hat kostenlosen Webspace.

    all-in1 schrieb:
    Du musst dem Script nur beibringen, daß die Datei für den Download auf dem Downloadserver liegt. Dann kannst du das Script auf deinem Space laufen lassen.

    Wenn du nicht genau weisst was du da wie ändern musst, dann zeige das Script oder melde dich per PN bei mir.


    Das Problem ist ja das es den Dateinamen der Datei auf dem Donwload Server verändert. Und dies kann nur via FTP gemacht werden oder täusche ich mich da?
  17. Ausprobieren?

    Müsste dann aber mit cURL oder falls erlaubt fsockopen gemacht werden.
  18. Geht das nicht auch einfacher programmieren?
    Weil es wird ja aufgerufen und das müsste doch im Log stehen.
  19. Ja es wird im Log stehen, nur hast du keinen Zugriff auf die Logdatei.

    Sind die Dateien denn so wertvoll, dass diese niemand direkt aufrufen soll?
  20. Hallo

    einfach anstatt Link direkt zur Download-Datei vorher eine PHP-Datei aufrufen
    die dann zählt (Zählerstand auslesen, um 1 erhöhen und neuen Zahl speichern)
    und dann automatisch weiter-leitet zum eigentlichen Download

    1. der Link auf der Webseite:
    <a href="download.php?file=test.zip">herunterladen</a>


    2. die Datei download.php
    <?php 
    // --------------------------------------------------------- 
    
    // ---- config: Web-Adresse zu Deinem Download-Server ----
    $dnl_srv = 'http://download.lima-city.de/Dein_Benutzername/'; 
    
    // ---- config: Pfad zum Speichern der Log-Datei ----
    $logpath = 'dlog'; 
    
    // --------------------------------------------------------- 
    
    if (!empty($_GET['file'])) { 
    
    $go_file = $_GET['file']; 
    // ---- to-do: hier noch Filter einbauen gegen hacking ---- 
    
    $go_hash = md5($go_file); 
    
    $log_file = $logpath.'/'.$go_hash.'.txt'; 
    
    // ---- den Counter-Stand auslesen und um 1 erhoehen ---- 
    if (!file_exists($log_file)) { 
    $count = 1; 
    }
    else { 
    $read = file_get_contents($log_file); 
    $count = ($read + 1); 
    }
    
    // ---- den neuen Counter-Stand speichern ----
    $save = file_put_contents($log_file, $count, LOCK_EX); 
    
    // ---- Weiter-Leitung zur Download-Datei ----
    header('location: '. $dnl_srv.$go_file);
    exit; 
    
    
    }
    else { 
    
    print '<p> Fehler .... es wurde kein Dateiname zum Download angegeben ... '; 
    print '<a href="javascript:history.back()">zur&uuml;ck</a> </p>'."\n"; 
    
    }
    
    // --------------------------------------------------------- 
    ?>


    so hast Du zu jedem Download in Deinem $logpath eine .txt Datei
    dessen Dateiname der md5-Hash der Download-Datei ist
    und den aktuellen Download-Stand enthält (zumindest Klick-Stand)

    also es wird jeder Klick auf den Download-Link ge-loggt,
    ob der Besucher die Download-Datei wirklich ganz heruntergeladen hat
    ist mit dieser Methode nicht erfassbar (nur die Klicks auf Download-Link)

    für interne Auswertung kannst Du Dir eine Liste (CSV) anlegen
    in der zu jeder Download-Datei der dazu gehörige md5-hash steht
    alternativ könnte man das anstatt mit md5 hash auch mit IDs machen
    ... völlig egal
  21. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!