Frage

Es ist erstaunlich, wie schwierig es ist, eine einfache, präzise Antwort auf diese Frage zu finden:

  1. Ich habe eine Datei, foo.zip, auf meiner Website
  2. Was kann ich tun, um herauszufinden, wie viele Menschen diese Datei zugegriffen haben?
  3. Ich konnte verwenden Tomcat ruft bei Bedarf

Update: Wenn Sie ein Skript vorschlagen schreiben, können Sie uns weisen auf einen anständigen

War es hilfreich?

Lösung

Oder Sie könnten die Protokolldatei analysieren, wenn Sie die Daten in Echtzeit nicht benötigen.

cat /path/to/access.log | grep foo.zip | grep 200 | wc -l

Auf Kommentar antworten:

Die Protokolldatei enthält auch Bytes heruntergeladen hat, sondern als jemand anderes darauf hingewiesen, kann dies die richtige Anzahl nicht widerspiegelt, wenn ein Benutzer den Download auf der Client-Seite aufhebt.

Andere Tipps

Der einfachste Weg, wahrscheinlich statt wäre direkt in die Datei verknüpfen, eine Verknüpfung zu einem Skript, das einen Zähler erhöht und dann nach vorne auf die betreffende Datei.

Mit der Antwort „Der einfachste Weg, wahrscheinlich anstatt direkt der Anbindung an ein Skript in die Datei, Link wäre, die einen Zähler erhöht und dann nach vorne auf die Datei in Frage.“

Dies ist zusätzlich:

$hit_count = @file_get_contents('count.txt');
$hit_count++;
@file_put_contents('count.txt', $hit_count);

header('Location: http://www.example.com/download/pics.zip'); // redirect to the real    file to be downloaded

Hier count.txt ist eine einfache Textdatei, die Speicherung der Zähler Info. Sie können auch zusammen mit downloadable_filename.ext es in einer Datenbanktabelle speichern.

die Protokolle verwenden - jede GET Anfrage für die Datei ein weiterer Download ist (es sei denn, der Besucher den Download partway durch aus irgendeinem Grund gestoppt)

.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top