Отслеживание прямых загрузок файлов

У меня есть несколько файлов (.zip и .pkg), доступных для скачивания на моем веб-сайте. Я хочу получать статистику загрузок с помощью Piwik.

Я создал цели «Загрузить файл» для каждого файла с критериями «где имя файла содержит FileToDownload.zip». К сожалению, цели не отслеживаются, поскольку код PHP или JavaScript не выполняется, когда пользователь нажимает на ссылку файла.

Я добавил oncick="_paq.push(['trackGoal', NNN]);" для каждой ссылки. Теперь пришло время определить, какой номер цели (NNN) следует использовать для каждого загружаемого файла.

Как получить правильное количество целей для каждой ссылки для скачивания? И как автоматизировать этот процесс для случаев, когда будут меняться списки файлов и целей?


person Aplextor    schedule 30.10.2013    source источник


Ответы (1)


Вот пример кода PHP, объединяющего две базы данных для создания автоматических событий JavaScript onclickevents:

// 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>";
}
person Aplextor    schedule 30.10.2013