Download 跟踪直接文件下载

Download 跟踪直接文件下载,download,matomo,goal-tracking,Download,Matomo,Goal Tracking,我的网站上有一些文件(.zip和.pkg)可供下载。我想获得使用Piwik下载的统计数据 我已经为每个文件创建了“下载一个文件”目标,其中包含“文件名包含FileToDownload.zip”标准。不幸的是,目标并没有跟踪,因为当用户单击文件链接时并没有执行PHP或JavaScript代码 我为每个链接添加了oncick=“\u paq.push(['trackGoal',NNN])”。现在是检测每个要下载的文件应该使用什么目标编号(NNN)的时候了 如何为每个下载链接获得正确的目标数?当文件和

我的网站上有一些文件(.zip和.pkg)可供下载。我想获得使用Piwik下载的统计数据

我已经为每个文件创建了“下载一个文件”目标,其中包含“文件名包含FileToDownload.zip”标准。不幸的是,目标并没有跟踪,因为当用户单击文件链接时并没有执行PHP或JavaScript代码

我为每个链接添加了
oncick=“\u paq.push(['trackGoal',NNN])”
。现在是检测每个要下载的文件应该使用什么目标编号(NNN)的时候了


如何为每个下载链接获得正确的目标数?当文件和目标列表发生变化时,如何自动执行此过程?

以下是PHP代码示例,将两个数据库连接在一起,以生成自动JavaScript
onclick
事件:

// Open website database and get list of files to download
$_db = @mysqli_connect($_dbhost, $_dbuser, $_dbpassword, $_dbname);
$data = @mysqli_query($_db, "SELECT * FROM downloads");
if ($data && @mysqli_num_rows($data)) while ($row = @mysqli_fetch_assoc($data))
{
  $filename = $row['filename'];

  // Open Piwik database and get goal for this file
  $_pdb = @mysqli_connect($_pdbhost, $_pdbuser, $_pdbpassword, $_pdbname);
  $pdata = @mysqli_query($_pdb, "SELECT idgoal FROM piwik_goal WHERE match_attribute='file' AND pattern LIKE'%$filename' AND deleted=0");
  if ($pdata && $row = @mysqli_fetch_assoc($pdata))
  {
    $goal = $row['idgoal'];
    $onclick = " onclick=\"_paq.push(['trackGoal', $goal]);\"";
  }
  echo "<a href="downloads/$filename"$onclick>$filename</a>";
}
//打开网站数据库并获取要下载的文件列表
$\u db=@mysqli\u connect($\u dbhost,$\u dbuser,$\u dbpassword,$\u dbname);
$data=@mysqli_query($_db,“从下载中选择*);
如果($data&&@mysqli_num_rows($data))而($row=@mysqli_fetch_assoc($data))
{
$filename=$row['filename'];
//打开Piwik数据库并获取此文件的目标
$\u pdb=@mysqli\u connect($\u pdbhost,$\u pdbuser,$\u pdbpassword,$\u pdbname);
$pdata=@mysqli\u query($\u pdb,“从piwik\u-goal中选择idgoal,其中match_-attribute='file'和类似“%$filename”和deleted=0”的模式);
如果($pdata&&$row=@mysqli\u fetch\u assoc($pdata))
{
$goal=$row['idgoal'];
$onclick=“onclick=\”\u paq.push(['trackGoal',$goal]);\“”;
}
回声“;
}