2016-06-13 2 views
0

Ich habe einen <img download> Tag auf meiner Seite. Jedes Mal, wenn ein Nutzer darauf klickt, wird die Datei heruntergeladen.Wie kann ich die Anzahl der Downloads für Bilder in der Website verfolgen

Ich kann die Anzahl der Klicks auf diese Tag verfolgen und in db für die Track-Anzahl der Downloads speichern.

Aber was, wenn Benutzer Abbrechen der Download-Datei prompt (Ort wählen für Datei herunterzuladen),

Wie kann ich verfolgen, ob Benutzer tatsächlich Datei oder nicht heruntergeladen?

+1

ja, es funktioniert ... –

Antwort

2

Sie müssen einen Proxy für die Datei verwenden. Sagen Sie etwas wie diese PHP-Datei:

<?php 
    $file = $_GET["file"];      // Get the file. 
    header("Content-disposition: attachment"); // And other headers for the file. 
    echo file_get_contents($file);    // Start the file. 
    // Update the counter. 
    file_put_contents(intval(file_get_contents("count.txt")) + 1, "count.txt"); 
?> 

Auf eine gute Note, diese // Update Code wird nur ausgeführt, wenn die Anforderung gesendet wird, und Datei heruntergeladen ist voll. Korrigiere mich, wenn ich falsch liege.

Wenn die Anfrage gesendet und der Code ausgeführt wird, startet Google Chrome und Firefox den Download der Datei, wenn das Dialogfeld "Speichern" angezeigt wird, dh wenn das Dialogfeld "Speichern" geöffnet ist, hat die Datei bereits geöffnet Mit dem Herunterladen wird begonnen, und wenn auf Abbrechen geklickt wird, erhält der Benutzer die Datei nicht, aber der Server empfängt die Anfrage bereits. Es ist also so, als würde man eine Datei herunterladen und löschen.

Hinweis: Bevor irgendein Genie und sagt kommt, das ist verletzlich, file-name fehlt, usw., lassen Sie mich Ihnen weit voraus sagen, das ist nur eine Idee ist, die OP zu helfen.

Verwandte Themen