Contar descargas de un archivo
Una consulta me ha hecho desempolvar un viejo script que tenía por ahí para contar los clicks que se hacían para ir a una url. Esto es igualmente válido para hacer tracking de downloads o descargas.
Supongamos en el script es invocado de la forna:
http://url_dominio/download.php?file=xxxxx.pdf
El script, que estaba escrito en php3, es a grandes rasgos así:
<?php
//RECUPERAMOS PARAMETRO
$url=$_GET[file]
// CONEXION BBDD
mysql_connect («localhost», «xxxxlogin», «xxxpasss»);
mysql_select_db («xxxxxxx»);// INSERTAR O HACER UN UPDATE EN BBDD CON LA DESCARGA. TAMBIEN PODRIA IR A UN FICHERO LOG
mysql_query(«INSERT INTO log_table VALUES (XXXXXXXXXXX)»);
//CONSTRUIR URL FINAL
$url=»http://url_dominio».$url;
//REDIRIGIR AL ARCHIVO CON DESCARGA
header(«Location: $url»);
?>
Importante no sacar nada, ni un error, ni un print, ni un echo, nada, antes de la directiva header(). Si sale algo, la redirección no se ejecutará.
Otra opción a la que podemos optar ahora es a utilizar una herramienta externa, como Google Analytics. De esta forma que no tenemos que hacer una tabla en la base de datos, construir el script y procesar los datos almacenados posteriormente. Hay un tutorial de Analytics que lo explica bastante bien.