Für einen reinen Download-Zähler würde ich einen Counter erhöhen und dann die Datei ausgeben. Ein Script dafür:
PHP-Code:
<?php

$datei 
fopen($_GET['file'] . "_count""r");
$besucher fread($datei,filesize($_GET['file'] . "_count"));
fclose($datei);
$besucher++;
$datei fopen($_GET['file'] . "_count","w");
fwrite($datei,"$besucher");
fclose($datei);


header('Content-type:application/zip');

$file fopen($_GET['file'], 'r');
$x fread($filefilesize($_GET['file']));
fclose($file);
echo 
$x;

?>
Das Ganze funktioniert nur mit Einschränkungen, alle Dateien müssen den gleichen Mime-Type haben (im Beispiel Zip, kannst du natürlich auch ändern, eine Liste der Mime-Types findest du hier.
Den Download rufst du dann über den Link download.php?file=Dateiname auf (wenn die Php-Datei download.php heißt). Der Counter wird dann in der Datei namens Dateiname_count abgelegt, mit folgendem Php-Code kannst du ihn ausgeben:
PHP-Code:
<?php
$datei 
fopen($datei fopen("Dateiname_count""r");
$besucher fread($datei,filesize("Dateiname_count"));
fclose($datei);
echo 
$besucher;
?>
Edit:
Mir ist gerade noch was aufgefallen: der Dateiname wird nicht geändert, also heißt die runtergeladene Datei immer download.php, aber sons geht's.