如何跟踪网站中图像的下载次数

时间:2016-06-13 11:33:35

标签: javascript php jquery html sql

我的页面中有<img download>标记。每次用户点击它,文件都会下载。

我可以跟踪此<img>标记的点击次数,并将其存储在数据库中以获取下载的跟踪数量。

但是如果用户取消下载文件提示选择下载文件的位置)该怎么办,

如何跟踪用户是否实际正在下载文件?

1 个答案:

答案 0 :(得分:2)

您需要为该文件使用代理。说这样的PHP文件:

<?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");
?>

值得注意的是,此// Update代码仅在发送请求时执行,并且文件已完全下载。如果我错了,请纠正我。

如果请求已发送并且代码已执行,抱歉,Google Chrome和Firefox会在“保存”对话框出现时开始下载文件,这意味着,当“保存”对话框打开时,文件已经启动下载和点击取消时,用户无法获取文件,但服务器已收到请求,因此就像下载文件并删除它一样。

  

注意: 在一些天才来之前说,这很容易受到攻击,file-name丢失等等,让我告诉你,这只是一个帮助OP的想法。