我有一些文件(.zip和.pkg)可以在我的网站上下载。我想使用 Piwik 获取下载统计信息。
我为每个文件创建了"下载文件"目标,其中包含"文件名包含文件下载.zip"标准。不幸的是,目标没有跟踪,因为当用户点击文件链接时没有执行PHP或JavaScript代码。
我为每个链接添加了oncick="_paq.push(['trackGoal', NNN]);"
。现在是时候检测我应该为每个要下载的文件使用哪个目标数字 (NNN)。
如何为每个下载链接获得正确的目标数量?以及如何在文件和目标列表将更改的情况下自动执行此过程?
下面是将两个数据库连接在一起以生成自动 JavaScript onclick
事件的 PHP 代码示例:
// 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>";
}